@needle-tools/engine 5.0.4 → 5.0.6-next.56fe65a
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 +16 -0
- package/components.needle.json +1 -1
- package/dist/{needle-engine.bundle-CYrPktak.umd.cjs → needle-engine.bundle-BakND7HQ.umd.cjs} +140 -139
- package/dist/{needle-engine.bundle-B3Km2VZ4.js → needle-engine.bundle-CsY10n4y.js} +8183 -7957
- package/dist/{needle-engine.bundle-CX-SJZzp.min.js → needle-engine.bundle-Drz4zRYf.min.js} +142 -141
- package/dist/needle-engine.d.ts +139 -14
- package/dist/needle-engine.js +560 -557
- package/dist/needle-engine.min.js +1 -1
- package/dist/needle-engine.umd.cjs +1 -1
- package/dist/{vendor-vHLk8sXu.js → vendor-CAcsI0eU.js} +116 -115
- package/dist/{vendor-CntUvmJu.umd.cjs → vendor-CEM38hLE.umd.cjs} +2 -2
- package/dist/{vendor-DPbfJJ4d.min.js → vendor-HRlxIBga.min.js} +2 -2
- package/lib/engine/api.d.ts +2 -0
- package/lib/engine/api.js +2 -0
- package/lib/engine/api.js.map +1 -1
- package/lib/engine/debug/debug_spatial_console.d.ts +2 -0
- package/lib/engine/debug/debug_spatial_console.js +10 -7
- package/lib/engine/debug/debug_spatial_console.js.map +1 -1
- package/lib/engine/engine_addressables.d.ts +2 -0
- package/lib/engine/engine_addressables.js +6 -3
- package/lib/engine/engine_addressables.js.map +1 -1
- package/lib/engine/engine_audio.d.ts +68 -0
- package/lib/engine/engine_audio.js +172 -0
- package/lib/engine/engine_audio.js.map +1 -1
- package/lib/engine/engine_gameobject.js +2 -2
- package/lib/engine/engine_gameobject.js.map +1 -1
- package/lib/engine/engine_init.js +8 -0
- package/lib/engine/engine_init.js.map +1 -1
- package/lib/engine/engine_mainloop_utils.js +5 -2
- package/lib/engine/engine_mainloop_utils.js.map +1 -1
- package/lib/engine/engine_serialization_builtin_serializer.js +27 -0
- package/lib/engine/engine_serialization_builtin_serializer.js.map +1 -1
- package/lib/engine/webcomponents/needle-engine.d.ts +9 -3
- package/lib/engine/webcomponents/needle-engine.js.map +1 -1
- package/lib/engine/xr/NeedleXRSession.d.ts +3 -2
- package/lib/engine/xr/NeedleXRSession.js +50 -14
- package/lib/engine/xr/NeedleXRSession.js.map +1 -1
- package/lib/engine-components/Animation.js +17 -16
- package/lib/engine-components/Animation.js.map +1 -1
- package/lib/engine-components/AnimatorController.d.ts +2 -0
- package/lib/engine-components/AnimatorController.js +4 -1
- package/lib/engine-components/AnimatorController.js.map +1 -1
- package/lib/engine-components/AudioSource.d.ts +19 -3
- package/lib/engine-components/AudioSource.js +121 -68
- package/lib/engine-components/AudioSource.js.map +1 -1
- package/lib/engine-components/DragControls.d.ts +7 -0
- package/lib/engine-components/DragControls.js +19 -0
- package/lib/engine-components/DragControls.js.map +1 -1
- package/lib/engine-components/NestedGltf.d.ts +19 -3
- package/lib/engine-components/NestedGltf.js +19 -3
- package/lib/engine-components/NestedGltf.js.map +1 -1
- package/lib/engine-components/Networking.d.ts +1 -1
- package/lib/engine-components/Networking.js +1 -1
- package/lib/engine-components/OrbitControls.js +16 -11
- package/lib/engine-components/OrbitControls.js.map +1 -1
- package/lib/engine-components/postprocessing/VolumeParameter.d.ts +2 -0
- package/lib/engine-components/postprocessing/VolumeParameter.js +4 -1
- package/lib/engine-components/postprocessing/VolumeParameter.js.map +1 -1
- package/lib/engine-components/ui/Canvas.d.ts +1 -1
- package/lib/engine-components/ui/Canvas.js +2 -8
- package/lib/engine-components/ui/Canvas.js.map +1 -1
- package/lib/engine-components/ui/Text.d.ts +8 -1
- package/lib/engine-components/ui/Text.js +29 -14
- package/lib/engine-components/ui/Text.js.map +1 -1
- package/lib/engine-components/web/CursorFollow.js +21 -12
- package/lib/engine-components/web/CursorFollow.js.map +1 -1
- package/lib/engine-components/webxr/WebXRImageTracking.js +4 -0
- package/lib/engine-components/webxr/WebXRImageTracking.js.map +1 -1
- package/package.json +2 -2
- package/plugins/vite/asap.js +17 -8
- package/plugins/vite/local-files-core.js +3 -3
- package/plugins/vite/local-files-utils.d.ts +3 -1
- package/plugins/vite/local-files-utils.js +29 -5
- package/src/engine/api.ts +3 -0
- package/src/engine/debug/debug_spatial_console.ts +10 -7
- package/src/engine/engine_addressables.ts +6 -3
- package/src/engine/engine_audio.ts +184 -0
- package/src/engine/engine_gameobject.ts +2 -2
- package/src/engine/engine_init.ts +8 -0
- package/src/engine/engine_mainloop_utils.ts +5 -2
- package/src/engine/engine_serialization_builtin_serializer.ts +31 -3
- package/src/engine/webcomponents/needle-engine.ts +9 -3
- package/src/engine/xr/NeedleXRSession.ts +48 -13
- package/src/engine-components/Animation.ts +19 -16
- package/src/engine-components/AnimatorController.ts +4 -1
- package/src/engine-components/AudioSource.ts +130 -79
- package/src/engine-components/DragControls.ts +18 -2
- package/src/engine-components/NestedGltf.ts +20 -4
- package/src/engine-components/Networking.ts +1 -1
- package/src/engine-components/OrbitControls.ts +18 -9
- package/src/engine-components/postprocessing/VolumeParameter.ts +4 -1
- package/src/engine-components/ui/Canvas.ts +2 -8
- package/src/engine-components/ui/Text.ts +43 -18
- package/src/engine-components/web/CursorFollow.ts +21 -13
- package/src/engine-components/webxr/WebXRImageTracking.ts +2 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebXRImageTracking.js","sourceRoot":"","sources":["../../../src/engine-components/webxr/WebXRImageTracking.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"WebXRImageTracking.js","sourceRoot":"","sources":["../../../src/engine-components/webxr/WebXRImageTracking.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@needle-tools/engine",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.6-next.56fe65a",
|
|
4
4
|
"description": "Needle Engine is a web-based runtime for 3D apps. It runs on your machine for development with great integrations into editors like Unity or Blender - and can be deployed onto any device! It is flexible, extensible and networking and XR are built-in.",
|
|
5
5
|
"main": "dist/needle-engine.min.js",
|
|
6
6
|
"exports": {
|
|
@@ -204,4 +204,4 @@
|
|
|
204
204
|
"module": "lib/needle-engine.js",
|
|
205
205
|
"typings": "lib/needle-engine.d.ts",
|
|
206
206
|
"types": "lib/needle-engine.d.ts"
|
|
207
|
-
}
|
|
207
|
+
}
|
package/plugins/vite/asap.js
CHANGED
|
@@ -50,7 +50,7 @@ export async function needleAsap(command, config, userSettings) {
|
|
|
50
50
|
const tags = [];
|
|
51
51
|
|
|
52
52
|
try {
|
|
53
|
-
generateGltfPreloadLinks(config, html, tags);
|
|
53
|
+
generateGltfPreloadLinks(config, html, tags, viteConfig?.base);
|
|
54
54
|
}
|
|
55
55
|
catch (err) {
|
|
56
56
|
console.error("Error generating gltf preload links", err);
|
|
@@ -173,18 +173,21 @@ function fixMainTs() {
|
|
|
173
173
|
* @param {import('vite').ResolvedConfig} _config
|
|
174
174
|
* @param {import('vite').HtmlTagDescriptor[]} tags
|
|
175
175
|
*/
|
|
176
|
-
function generateScriptPreloadLinks(
|
|
176
|
+
function generateScriptPreloadLinks(config, tags) {
|
|
177
177
|
try {
|
|
178
|
+
const base = config.base || '/';
|
|
178
179
|
const chunks = preloadScriptPaths;
|
|
179
180
|
// console.log("ASAP", chunks)
|
|
180
181
|
if (chunks.length > 0) {
|
|
181
182
|
for (const chunk of chunks) {
|
|
183
|
+
// Apply base path so preload hrefs resolve correctly under SPA routing
|
|
184
|
+
const href = chunk.startsWith('./') ? base + chunk.slice(2) : chunk;
|
|
182
185
|
tags.push({
|
|
183
186
|
tag: 'link',
|
|
184
187
|
attrs: {
|
|
185
188
|
rel: "modulepreload",
|
|
186
189
|
as: "script",
|
|
187
|
-
href:
|
|
190
|
+
href: href,
|
|
188
191
|
}
|
|
189
192
|
});
|
|
190
193
|
}
|
|
@@ -203,15 +206,16 @@ const codegenRegex = /\"(?<gltf>.+(.glb|.gltf)(\?.*)?)\"/gm;
|
|
|
203
206
|
/**
|
|
204
207
|
* @param {import('../types').needleConfig} config
|
|
205
208
|
* @param {string} html
|
|
206
|
-
* @param {import('vite').HtmlTagDescriptor[]} tags
|
|
209
|
+
* @param {import('vite').HtmlTagDescriptor[]} tags
|
|
210
|
+
* @param {string} [base]
|
|
207
211
|
**/
|
|
208
|
-
function generateGltfPreloadLinks(config, html, tags) {
|
|
212
|
+
function generateGltfPreloadLinks(config, html, tags, base) {
|
|
209
213
|
|
|
210
214
|
// TODO: try to get the <needle-engine src> element src attribute and preload that
|
|
211
215
|
const needleEngineMatches = tryParseNeedleEngineSrcAttributeFromHtml(html);
|
|
212
216
|
if (needleEngineMatches?.length) {
|
|
213
217
|
for (const item of needleEngineMatches) {
|
|
214
|
-
insertPreloadLink(tags, item, "model/gltf+json");
|
|
218
|
+
insertPreloadLink(tags, item, "model/gltf+json", base);
|
|
215
219
|
}
|
|
216
220
|
}
|
|
217
221
|
|
|
@@ -246,7 +250,7 @@ function generateGltfPreloadLinks(config, html, tags) {
|
|
|
246
250
|
}
|
|
247
251
|
}
|
|
248
252
|
needleLog("needle:asap", `Insert glTF preload link: ${value}`);
|
|
249
|
-
insertPreloadLink(tags, value, "model/gltf+json");
|
|
253
|
+
insertPreloadLink(tags, value, "model/gltf+json", base);
|
|
250
254
|
}
|
|
251
255
|
}
|
|
252
256
|
}
|
|
@@ -258,9 +262,14 @@ function generateGltfPreloadLinks(config, html, tags) {
|
|
|
258
262
|
* @param {import('vite').HtmlTagDescriptor[]} tags
|
|
259
263
|
* @param {string} href
|
|
260
264
|
* @param {string} type
|
|
265
|
+
* @param {string} [base]
|
|
261
266
|
*/
|
|
262
|
-
function insertPreloadLink(tags, href, type) {
|
|
267
|
+
function insertPreloadLink(tags, href, type, base) {
|
|
263
268
|
if (!href) return;
|
|
269
|
+
// Apply base path so preload hrefs resolve correctly under SPA routing
|
|
270
|
+
if (base && !href.startsWith('http') && !href.startsWith('/')) {
|
|
271
|
+
href = base + (href.startsWith('./') ? href.slice(2) : href);
|
|
272
|
+
}
|
|
264
273
|
tags.push({
|
|
265
274
|
tag: 'link',
|
|
266
275
|
attrs: {
|
|
@@ -291,7 +291,7 @@ export function needleMakeFilesLocal(command, _config, userSettings) {
|
|
|
291
291
|
failedDownloads,
|
|
292
292
|
localizationStats,
|
|
293
293
|
}, activeHandlers);
|
|
294
|
-
src = fixRelativeNewURL(src);
|
|
294
|
+
src = fixRelativeNewURL(src, viteConfig?.base);
|
|
295
295
|
}
|
|
296
296
|
catch (err) {
|
|
297
297
|
needleLog("needle:local-files", "Error in transform: " + getErrMessage(err), "error");
|
|
@@ -303,7 +303,7 @@ export function needleMakeFilesLocal(command, _config, userSettings) {
|
|
|
303
303
|
},
|
|
304
304
|
renderChunk(code, chunk) {
|
|
305
305
|
if (!chunk.fileName?.endsWith(".js")) return null;
|
|
306
|
-
const fixed = fixRelativeNewURL(code);
|
|
306
|
+
const fixed = fixRelativeNewURL(code, viteConfig?.base);
|
|
307
307
|
if (fixed === code) return null;
|
|
308
308
|
return {
|
|
309
309
|
code: fixed,
|
|
@@ -314,7 +314,7 @@ export function needleMakeFilesLocal(command, _config, userSettings) {
|
|
|
314
314
|
for (const output of Object.values(bundle)) {
|
|
315
315
|
if (output.type !== "chunk") continue;
|
|
316
316
|
if (!output.fileName?.endsWith(".js")) continue;
|
|
317
|
-
const fixed = fixRelativeNewURL(output.code);
|
|
317
|
+
const fixed = fixRelativeNewURL(output.code, viteConfig?.base);
|
|
318
318
|
if (fixed !== output.code) output.code = fixed;
|
|
319
319
|
}
|
|
320
320
|
},
|
|
@@ -24,9 +24,11 @@ export function normalizeWebPath(path: string): string;
|
|
|
24
24
|
export function ensureTrailingSlash(path: string): string;
|
|
25
25
|
/**
|
|
26
26
|
* @param {string} src
|
|
27
|
+
* @param {string} [base] - Vite base path (e.g. "/" or "/app/"). When provided,
|
|
28
|
+
* ext/ paths are made absolute so they resolve correctly under SPA routing.
|
|
27
29
|
* @returns {string}
|
|
28
30
|
*/
|
|
29
|
-
export function fixRelativeNewURL(src: string): string;
|
|
31
|
+
export function fixRelativeNewURL(src: string, base?: string): string;
|
|
30
32
|
/**
|
|
31
33
|
* @param {string} src
|
|
32
34
|
* @returns {string}
|
|
@@ -113,25 +113,49 @@ export function ensureTrailingSlash(path) {
|
|
|
113
113
|
|
|
114
114
|
/**
|
|
115
115
|
* @param {string} src
|
|
116
|
+
* @param {string} [base] - Vite base path (e.g. "/" or "/app/"). When provided,
|
|
117
|
+
* ext/ paths are made absolute so they resolve correctly under SPA routing.
|
|
116
118
|
* @returns {string}
|
|
117
119
|
*/
|
|
118
|
-
export function fixRelativeNewURL(src) {
|
|
120
|
+
export function fixRelativeNewURL(src, base) {
|
|
121
|
+
/** @param {string} path */
|
|
122
|
+
function makeAbsolute(path) {
|
|
123
|
+
// Strip any leading ./ ../ or / prefix to get the clean ext/... path
|
|
124
|
+
const clean = path.replace(/^(?:\.\.?\/)+/, '').replace(/^\//, '');
|
|
125
|
+
if (base) return base.replace(/\/+$/, '') + '/' + clean;
|
|
126
|
+
return clean;
|
|
127
|
+
}
|
|
128
|
+
|
|
119
129
|
src = src.replace(
|
|
120
130
|
/(?<==\s*)(["'])((?:(?:\.{1,2}\/)|\/)?ext\/[^"']*\/)\1/g,
|
|
121
131
|
(/** @type {string} */ _match, /** @type {string} */ quote, /** @type {string} */ path) => {
|
|
122
|
-
const
|
|
123
|
-
return `new URL(${quote}${
|
|
132
|
+
const resolved = makeAbsolute(path);
|
|
133
|
+
return `new URL(${quote}${resolved}${quote}, self.location?.href || ${quote}${quote}).href`;
|
|
124
134
|
}
|
|
125
135
|
);
|
|
126
136
|
|
|
127
137
|
src = src.replace(
|
|
128
138
|
/new\s+URL\s*\(\s*(["'`])((?:(?:\.{1,2}\/)|\/)?ext\/[^"'`]+)\1\s*\)/g,
|
|
129
139
|
(/** @type {string} */ _match, /** @type {string} */ quote, /** @type {string} */ path) => {
|
|
130
|
-
const
|
|
131
|
-
return `new URL(${quote}${
|
|
140
|
+
const resolved = makeAbsolute(path);
|
|
141
|
+
return `new URL(${quote}${resolved}${quote}, self.location?.href)`;
|
|
132
142
|
}
|
|
133
143
|
);
|
|
134
144
|
|
|
145
|
+
// Make remaining ext/ string literals absolute (e.g. font paths passed as
|
|
146
|
+
// function arguments like addVariant("normal","normal","ext/fonts/...")).
|
|
147
|
+
// The regexes above already consumed paths inside new URL() calls and
|
|
148
|
+
// assignment-based patterns, so this only catches leftover bare strings.
|
|
149
|
+
if (base) {
|
|
150
|
+
src = src.replace(
|
|
151
|
+
/(["'`])((?:\.{1,2}\/)?ext\/[^"'`]+)\1/g,
|
|
152
|
+
(/** @type {string} */ _match, /** @type {string} */ quote, /** @type {string} */ path) => {
|
|
153
|
+
const resolved = makeAbsolute(path);
|
|
154
|
+
return `${quote}${resolved}${quote}`;
|
|
155
|
+
}
|
|
156
|
+
);
|
|
157
|
+
}
|
|
158
|
+
|
|
135
159
|
return src;
|
|
136
160
|
}
|
|
137
161
|
|
package/src/engine/api.ts
CHANGED
|
@@ -114,6 +114,9 @@ export * from "./engine_addressables.js";
|
|
|
114
114
|
/** Animation playback and control utilities */
|
|
115
115
|
export { AnimationUtils } from "./engine_animation.js";
|
|
116
116
|
|
|
117
|
+
/** Standalone audio clip for playback control */
|
|
118
|
+
export { AudioClip } from "./engine_audio.js";
|
|
119
|
+
|
|
117
120
|
/** Application-level state and utilities */
|
|
118
121
|
export { Application } from "./engine_application.js";
|
|
119
122
|
|
|
@@ -12,13 +12,16 @@ import { onError } from "./debug_overlay.js";
|
|
|
12
12
|
|
|
13
13
|
let _isActive = false;
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
if
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
15
|
+
/** @internal */
|
|
16
|
+
export function initSpatialConsole() {
|
|
17
|
+
// enable the spatial console if we receive an error while in dev session and in XR
|
|
18
|
+
onError((...args: any[]) => {
|
|
19
|
+
if (isDevEnvironment() && ContextRegistry.Current?.isInXR) {
|
|
20
|
+
enableSpatialConsole(true);
|
|
21
|
+
onLog("error", ...args);
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
}
|
|
22
25
|
|
|
23
26
|
|
|
24
27
|
/** Enable a spatial debug console that follows the camera */
|
|
@@ -564,7 +564,6 @@ class AddressableSerializer extends TypeSerializer {
|
|
|
564
564
|
}
|
|
565
565
|
|
|
566
566
|
}
|
|
567
|
-
new AddressableSerializer();
|
|
568
567
|
|
|
569
568
|
|
|
570
569
|
|
|
@@ -700,7 +699,6 @@ export class ImageReferenceSerializer extends TypeSerializer {
|
|
|
700
699
|
return undefined;
|
|
701
700
|
}
|
|
702
701
|
}
|
|
703
|
-
new ImageReferenceSerializer();
|
|
704
702
|
|
|
705
703
|
|
|
706
704
|
|
|
@@ -769,4 +767,9 @@ export class FileReferenceSerializer extends TypeSerializer {
|
|
|
769
767
|
return undefined;
|
|
770
768
|
}
|
|
771
769
|
}
|
|
772
|
-
|
|
770
|
+
/** @internal */
|
|
771
|
+
export function initAddressableSerializers() {
|
|
772
|
+
new AddressableSerializer();
|
|
773
|
+
new ImageReferenceSerializer();
|
|
774
|
+
new FileReferenceSerializer();
|
|
775
|
+
}
|
|
@@ -21,4 +21,188 @@ export function ensureAudioContextIsResumed() {
|
|
|
21
21
|
}, 500);
|
|
22
22
|
});
|
|
23
23
|
});
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Represents an audio clip that can be loaded and played independently.
|
|
29
|
+
* The AudioClip class encapsulates the URL of the audio resource and provides
|
|
30
|
+
* methods for playback control (play, pause, stop) and querying duration.
|
|
31
|
+
*/
|
|
32
|
+
export class AudioClip {
|
|
33
|
+
|
|
34
|
+
/**
|
|
35
|
+
* Creates a new AudioClip instance with the specified URL.
|
|
36
|
+
* @param url The URL of the audio resource to load. This can be a path to an audio file or a MediaStream URL.
|
|
37
|
+
*/
|
|
38
|
+
constructor(public readonly url: string) {
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/** Whether the clip is currently playing.
|
|
42
|
+
* @returns `true` if the clip is actively playing audio.
|
|
43
|
+
*/
|
|
44
|
+
get isPlaying(): boolean {
|
|
45
|
+
return this._audioElement !== undefined
|
|
46
|
+
&& !this._audioElement.paused
|
|
47
|
+
&& !this._audioElement.ended;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* The total duration of the audio clip in seconds.
|
|
52
|
+
* Loads the audio metadata if not already available.
|
|
53
|
+
* @returns A promise that resolves with the duration in seconds.
|
|
54
|
+
*/
|
|
55
|
+
getDuration(): Promise<number> {
|
|
56
|
+
if (this._duration !== undefined) {
|
|
57
|
+
return Promise.resolve(this._duration);
|
|
58
|
+
}
|
|
59
|
+
return this.ensureAudioElement().then(audio => {
|
|
60
|
+
this._duration = audio.duration;
|
|
61
|
+
return audio.duration;
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
/**
|
|
66
|
+
* Plays the audio clip from the current position.
|
|
67
|
+
* @returns A promise that resolves when playback finishes, or rejects on error.
|
|
68
|
+
* If the clip is looping, the promise will never resolve on its own – call {@link stop} or {@link pause} to end playback.
|
|
69
|
+
*/
|
|
70
|
+
// #region Play
|
|
71
|
+
play(): Promise<void> {
|
|
72
|
+
return this.ensureAudioElement().then(audio => {
|
|
73
|
+
return new Promise<void>((resolve, reject) => {
|
|
74
|
+
const onEnded = () => {
|
|
75
|
+
cleanup();
|
|
76
|
+
resolve();
|
|
77
|
+
};
|
|
78
|
+
const onError = () => {
|
|
79
|
+
cleanup();
|
|
80
|
+
reject(new Error(`Playback error for ${this.url}`));
|
|
81
|
+
};
|
|
82
|
+
const onPause = () => {
|
|
83
|
+
// pause/stop also resolve the promise
|
|
84
|
+
cleanup();
|
|
85
|
+
resolve();
|
|
86
|
+
};
|
|
87
|
+
const cleanup = () => {
|
|
88
|
+
audio.removeEventListener("ended", onEnded);
|
|
89
|
+
audio.removeEventListener("error", onError);
|
|
90
|
+
audio.removeEventListener("pause", onPause);
|
|
91
|
+
};
|
|
92
|
+
audio.addEventListener("ended", onEnded);
|
|
93
|
+
audio.addEventListener("error", onError);
|
|
94
|
+
audio.addEventListener("pause", onPause);
|
|
95
|
+
audio.play().catch(err => {
|
|
96
|
+
cleanup();
|
|
97
|
+
reject(err);
|
|
98
|
+
});
|
|
99
|
+
});
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
/**
|
|
104
|
+
* Pauses playback at the current position.
|
|
105
|
+
* Call {@link play} to resume.
|
|
106
|
+
*/
|
|
107
|
+
// #region Pause/Stop
|
|
108
|
+
pause(): void {
|
|
109
|
+
this._audioElement?.pause();
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* Stops playback and resets the position to the beginning.
|
|
114
|
+
*/
|
|
115
|
+
stop(): void {
|
|
116
|
+
if (this._audioElement) {
|
|
117
|
+
this._audioElement.pause();
|
|
118
|
+
this._audioElement.currentTime = 0;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
/** Whether the clip should loop when reaching the end. */
|
|
123
|
+
get loop(): boolean { return this._loop; }
|
|
124
|
+
set loop(value: boolean) {
|
|
125
|
+
this._loop = value;
|
|
126
|
+
if (this._audioElement) this._audioElement.loop = value;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
/** Playback volume from 0 (silent) to 1 (full). */
|
|
130
|
+
get volume(): number { return this._volume; }
|
|
131
|
+
set volume(value: number) {
|
|
132
|
+
this._volume = value;
|
|
133
|
+
if (this._audioElement) this._audioElement.volume = value;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
/** Current playback position in seconds. */
|
|
137
|
+
get currentTime(): number { return this._audioElement?.currentTime ?? 0; }
|
|
138
|
+
set currentTime(value: number) {
|
|
139
|
+
if (this._audioElement) this._audioElement.currentTime = value;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
/** Normalized playback progress from 0 to 1.
|
|
143
|
+
* @returns The current playback position as a value between 0 and 1, or 0 if the duration is unknown.
|
|
144
|
+
*/
|
|
145
|
+
get progress(): number {
|
|
146
|
+
if (!this._audioElement || !this._duration) return 0;
|
|
147
|
+
return this._audioElement.currentTime / this._duration;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
/**
|
|
151
|
+
* Seeks to a normalized position (0–1) in the clip.
|
|
152
|
+
* @param position A value between 0 (start) and 1 (end).
|
|
153
|
+
*/
|
|
154
|
+
// #region Seek
|
|
155
|
+
seek(position: number): void {
|
|
156
|
+
if (this._audioElement && this._duration) {
|
|
157
|
+
this._audioElement.currentTime = Math.max(0, Math.min(1, position)) * this._duration;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
/** The underlying HTMLAudioElement, or `undefined` if not yet created.
|
|
162
|
+
* Use this to connect the element to the Web Audio API via `createMediaElementSource()`.
|
|
163
|
+
* @returns The HTMLAudioElement if the clip has been loaded or played, otherwise `undefined`.
|
|
164
|
+
*/
|
|
165
|
+
get audioElement(): HTMLAudioElement | undefined { return this._audioElement; }
|
|
166
|
+
|
|
167
|
+
private _audioElement?: HTMLAudioElement;
|
|
168
|
+
private _duration?: number;
|
|
169
|
+
private _loadPromise?: Promise<HTMLAudioElement>;
|
|
170
|
+
private _loop: boolean = false;
|
|
171
|
+
private _volume: number = 1;
|
|
172
|
+
|
|
173
|
+
/** Lazily creates and loads the shared HTMLAudioElement. */
|
|
174
|
+
private ensureAudioElement(): Promise<HTMLAudioElement> {
|
|
175
|
+
if (this._audioElement && this._loadPromise) {
|
|
176
|
+
return this._loadPromise;
|
|
177
|
+
}
|
|
178
|
+
const audio = this._audioElement ?? new Audio(this.url);
|
|
179
|
+
this._audioElement = audio;
|
|
180
|
+
audio.loop = this._loop;
|
|
181
|
+
audio.volume = this._volume;
|
|
182
|
+
|
|
183
|
+
if (audio.readyState >= HTMLMediaElement.HAVE_METADATA) {
|
|
184
|
+
this._duration = audio.duration;
|
|
185
|
+
this._loadPromise = Promise.resolve(audio);
|
|
186
|
+
return this._loadPromise;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
this._loadPromise = new Promise<HTMLAudioElement>((resolve, reject) => {
|
|
190
|
+
const onLoaded = () => {
|
|
191
|
+
cleanup();
|
|
192
|
+
this._duration = audio.duration;
|
|
193
|
+
resolve(audio);
|
|
194
|
+
};
|
|
195
|
+
const onError = (e: Event) => {
|
|
196
|
+
cleanup();
|
|
197
|
+
reject(new Error(`Failed to load audio clip from ${this.url}: ${e}`));
|
|
198
|
+
};
|
|
199
|
+
const cleanup = () => {
|
|
200
|
+
audio.removeEventListener("loadedmetadata", onLoaded);
|
|
201
|
+
audio.removeEventListener("error", onError);
|
|
202
|
+
};
|
|
203
|
+
audio.addEventListener("loadedmetadata", onLoaded);
|
|
204
|
+
audio.addEventListener("error", onError);
|
|
205
|
+
});
|
|
206
|
+
return this._loadPromise;
|
|
207
|
+
}
|
|
24
208
|
}
|
|
@@ -207,8 +207,8 @@ function internalDestroy(instance: Object3D | Component, recursive: boolean = tr
|
|
|
207
207
|
if (comp[$isDontDestroy]) return;
|
|
208
208
|
destroyed_components.push(comp);
|
|
209
209
|
const go = comp.gameObject;
|
|
210
|
-
comp.__internalDisable();
|
|
211
|
-
comp.__internalDestroy();
|
|
210
|
+
comp.__internalDisable?.();
|
|
211
|
+
comp.__internalDestroy?.();
|
|
212
212
|
comp.gameObject = go;
|
|
213
213
|
return;
|
|
214
214
|
}
|
|
@@ -1,7 +1,10 @@
|
|
|
1
|
+
import { initAnimatorControllerSerializer } from "../engine-components/AnimatorController.js";
|
|
1
2
|
import { initAnimationAutoplay } from "../engine-components/AnimationUtilsAutoplay.js";
|
|
2
3
|
import { initCameraUtils } from "../engine-components/CameraUtils.js";
|
|
4
|
+
import { initVolumeParameterSerializer } from "../engine-components/postprocessing/VolumeParameter.js";
|
|
3
5
|
import { initSceneSwitcherAttributes } from "../engine-components/SceneSwitcher.js";
|
|
4
6
|
import { initSkyboxAttributes } from "../engine-components/Skybox.js";
|
|
7
|
+
import { initAddressableSerializers } from "./engine_addressables.js";
|
|
5
8
|
import { initBuiltinTypes } from "./codegen/register_types.js";
|
|
6
9
|
import { ensureAudioContextIsResumed } from "./engine_audio.js";
|
|
7
10
|
import { initNeedleLoader } from "./engine_loaders.js";
|
|
@@ -13,6 +16,7 @@ import { patchLayers } from "./js-extensions/Layers.js";
|
|
|
13
16
|
import { initObject3DExtensions } from "./js-extensions/Object3D.js";
|
|
14
17
|
import { initVectorExtensions } from "./js-extensions/Vector.js";
|
|
15
18
|
import { initWebComponents } from "./webcomponents/init.js";
|
|
19
|
+
import { initSpatialConsole } from "./debug/debug_spatial_console.js";
|
|
16
20
|
|
|
17
21
|
let initialized = false;
|
|
18
22
|
|
|
@@ -32,6 +36,9 @@ export function initEngine() {
|
|
|
32
36
|
initWebComponents();
|
|
33
37
|
initShims();
|
|
34
38
|
initBuiltinSerializers();
|
|
39
|
+
initAddressableSerializers();
|
|
40
|
+
initAnimatorControllerSerializer();
|
|
41
|
+
initVolumeParameterSerializer();
|
|
35
42
|
patchTonemapping();
|
|
36
43
|
patchLayers();
|
|
37
44
|
initCameraExtensions();
|
|
@@ -44,4 +51,5 @@ export function initEngine() {
|
|
|
44
51
|
initAnimationAutoplay();
|
|
45
52
|
initSkyboxAttributes();
|
|
46
53
|
initSceneSwitcherAttributes();
|
|
54
|
+
initSpatialConsole();
|
|
47
55
|
}
|
|
@@ -344,8 +344,11 @@ function updateIsActiveInHierarchyRecursiveRuntime(go: Object3D, activeInHierarc
|
|
|
344
344
|
if (allowEventCall) {
|
|
345
345
|
const components = go.userData?.components;
|
|
346
346
|
if (components) {
|
|
347
|
-
|
|
348
|
-
|
|
347
|
+
// We need to iterate on components in the original order right now to work-around UI related initialization bugs where RectTransform must be initialized before e.g. Graphic components. https://linear.app/needle/issue/NE-6986
|
|
348
|
+
// In the future we can reverse iterate this once the UI system has been replaced (that being said it's probably expected that component enable in the order in which they're added to an object)
|
|
349
|
+
const componentsCopy = [...components];
|
|
350
|
+
for (let ci = 0; ci < componentsCopy.length; ci++) {
|
|
351
|
+
const comp = componentsCopy[ci];
|
|
349
352
|
if (activeInHierarchy) {
|
|
350
353
|
if (comp?.enabled) {
|
|
351
354
|
try { comp.__internalAwake(); }
|