@needle-tools/engine 5.1.0-alpha.2 → 5.1.0-canary.244f23e
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 +17 -1
- package/dist/{needle-engine.bundle-B-5Q2CpC.min.js → needle-engine.bundle-CJmix0Oo.min.js} +135 -135
- package/dist/{needle-engine.bundle-dit3f1l5.js → needle-engine.bundle-CcPGKcD_.js} +5403 -5396
- package/dist/{needle-engine.bundle-qZfVf_v-.umd.cjs → needle-engine.bundle-rcR8UYgV.umd.cjs} +135 -135
- package/dist/needle-engine.d.ts +16 -17
- package/dist/needle-engine.js +188 -186
- package/dist/needle-engine.min.js +1 -1
- package/dist/needle-engine.umd.cjs +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_gameobject.js +2 -2
- package/lib/engine/engine_gameobject.js.map +1 -1
- package/lib/engine/engine_init.js +10 -0
- package/lib/engine/engine_init.js.map +1 -1
- package/lib/engine/engine_scenedata.d.ts +2 -0
- package/lib/engine/engine_scenedata.js +2 -0
- package/lib/engine/engine_scenedata.js.map +1 -1
- package/lib/engine/engine_serialization_builtin_serializer.d.ts +10 -16
- package/lib/engine/engine_serialization_builtin_serializer.js +28 -41
- package/lib/engine/engine_serialization_builtin_serializer.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/ReflectionProbe.js +2 -0
- package/lib/engine-components/ReflectionProbe.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/package.json +2 -2
- package/src/engine/debug/debug_spatial_console.ts +10 -7
- package/src/engine/engine_addressables.ts +6 -3
- package/src/engine/engine_gameobject.ts +2 -2
- package/src/engine/engine_init.ts +10 -0
- package/src/engine/engine_scenedata.ts +2 -0
- package/src/engine/engine_serialization_builtin_serializer.ts +32 -43
- package/src/engine-components/AnimatorController.ts +4 -1
- package/src/engine-components/ReflectionProbe.ts +2 -0
- package/src/engine-components/postprocessing/VolumeParameter.ts +4 -1
|
@@ -133,5 +133,8 @@ class VolumeParameterSerializer extends TypeSerializer {
|
|
|
133
133
|
return parameter;
|
|
134
134
|
}
|
|
135
135
|
}
|
|
136
|
-
|
|
136
|
+
/** @internal */
|
|
137
|
+
export function initVolumeParameterSerializer() {
|
|
138
|
+
new VolumeParameterSerializer();
|
|
139
|
+
}
|
|
137
140
|
//# sourceMappingURL=VolumeParameter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VolumeParameter.js","sourceRoot":"","sources":["../../../src/engine-components/postprocessing/VolumeParameter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VolumeParameter.js","sourceRoot":"","sources":["../../../src/engine-components/postprocessing/VolumeParameter.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.1.0-
|
|
3
|
+
"version": "5.1.0-canary.244f23e",
|
|
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": {
|
|
@@ -207,4 +207,4 @@
|
|
|
207
207
|
"module": "lib/needle-engine.js",
|
|
208
208
|
"typings": "lib/needle-engine.d.ts",
|
|
209
209
|
"types": "lib/needle-engine.d.ts"
|
|
210
|
-
}
|
|
210
|
+
}
|
|
@@ -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 */
|
|
@@ -567,7 +567,6 @@ class AddressableSerializer extends TypeSerializer {
|
|
|
567
567
|
}
|
|
568
568
|
|
|
569
569
|
}
|
|
570
|
-
new AddressableSerializer();
|
|
571
570
|
|
|
572
571
|
|
|
573
572
|
|
|
@@ -703,7 +702,6 @@ export class ImageReferenceSerializer extends TypeSerializer {
|
|
|
703
702
|
return undefined;
|
|
704
703
|
}
|
|
705
704
|
}
|
|
706
|
-
new ImageReferenceSerializer();
|
|
707
705
|
|
|
708
706
|
|
|
709
707
|
|
|
@@ -772,4 +770,9 @@ export class FileReferenceSerializer extends TypeSerializer {
|
|
|
772
770
|
return undefined;
|
|
773
771
|
}
|
|
774
772
|
}
|
|
775
|
-
|
|
773
|
+
/** @internal */
|
|
774
|
+
export function initAddressableSerializers() {
|
|
775
|
+
new AddressableSerializer();
|
|
776
|
+
new ImageReferenceSerializer();
|
|
777
|
+
new FileReferenceSerializer();
|
|
778
|
+
}
|
|
@@ -212,8 +212,8 @@ function internalDestroy(instance: Object3D | Component, recursive: boolean = tr
|
|
|
212
212
|
if (comp[$isDontDestroy]) return;
|
|
213
213
|
destroyed_components.push(comp);
|
|
214
214
|
const go = comp.gameObject;
|
|
215
|
-
comp.__internalDisable();
|
|
216
|
-
comp.__internalDestroy();
|
|
215
|
+
comp.__internalDisable?.();
|
|
216
|
+
comp.__internalDestroy?.();
|
|
217
217
|
comp.gameObject = go;
|
|
218
218
|
return;
|
|
219
219
|
}
|
|
@@ -1,10 +1,14 @@
|
|
|
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";
|
|
11
|
+
import { initBuiltinSerializers } from "./engine_serialization_builtin_serializer.js";
|
|
8
12
|
import { initShims } from "./engine_shims.js";
|
|
9
13
|
import { patchTonemapping } from "./engine_tonemapping.js";
|
|
10
14
|
import { initCameraExtensions } from "./js-extensions/Camera.js";
|
|
@@ -15,6 +19,7 @@ import { SSR } from "./engine_ssr.js";
|
|
|
15
19
|
import { initLicense } from "./engine_license.js";
|
|
16
20
|
import { initWebComponents } from "./webcomponents/init.js";
|
|
17
21
|
import { initPhysics } from "./engine_physics_rapier.js";
|
|
22
|
+
import { initSpatialConsole } from "./debug/debug_spatial_console.js";
|
|
18
23
|
import { initXR } from "./xr/init.js";
|
|
19
24
|
|
|
20
25
|
let initialized = false;
|
|
@@ -35,6 +40,10 @@ export function initEngine() {
|
|
|
35
40
|
|
|
36
41
|
initWebComponents();
|
|
37
42
|
initShims();
|
|
43
|
+
initBuiltinSerializers();
|
|
44
|
+
initAddressableSerializers();
|
|
45
|
+
initAnimatorControllerSerializer();
|
|
46
|
+
initVolumeParameterSerializer();
|
|
38
47
|
patchTonemapping();
|
|
39
48
|
patchLayers();
|
|
40
49
|
initCameraExtensions();
|
|
@@ -49,5 +58,6 @@ export function initEngine() {
|
|
|
49
58
|
initSceneSwitcherAttributes();
|
|
50
59
|
initPhysics();
|
|
51
60
|
initXR();
|
|
61
|
+
initSpatialConsole();
|
|
52
62
|
initLicense();
|
|
53
63
|
}
|
|
@@ -13,6 +13,8 @@ import { ContextRegistry } from "./engine_context_registry.js";
|
|
|
13
13
|
* Safe to import at module level, including in SSR environments.
|
|
14
14
|
* For pages with multiple `<needle-engine>` elements, use `ctx` directly instead.
|
|
15
15
|
*
|
|
16
|
+
* @experimental This API may change in future releases.
|
|
17
|
+
*
|
|
16
18
|
* @example
|
|
17
19
|
* import { needle } from "@needle-tools/engine";
|
|
18
20
|
* button.onclick = () => {
|
|
@@ -11,24 +11,6 @@ import { IComponent } from "./engine_types.js";
|
|
|
11
11
|
import { resolveUrl } from "./engine_utils.js";
|
|
12
12
|
import { RGBAColor } from "./js-extensions/index.js";
|
|
13
13
|
|
|
14
|
-
// export class SourcePath {
|
|
15
|
-
// src?:string
|
|
16
|
-
// };
|
|
17
|
-
|
|
18
|
-
// class SourcePathSerializer extends TypeSerializer{
|
|
19
|
-
// constructor(){
|
|
20
|
-
// super(SourcePath);
|
|
21
|
-
// }
|
|
22
|
-
// onDeserialize(data: any, _context: SerializationContext) {
|
|
23
|
-
// if(data.src && typeof data.src === "string"){
|
|
24
|
-
// return data.src;
|
|
25
|
-
// }
|
|
26
|
-
// }
|
|
27
|
-
// onSerialize(_data: any, _context: SerializationContext) {
|
|
28
|
-
|
|
29
|
-
// }
|
|
30
|
-
// }
|
|
31
|
-
// new SourcePathSerializer();
|
|
32
14
|
|
|
33
15
|
class ColorSerializer extends TypeSerializer {
|
|
34
16
|
constructor() {
|
|
@@ -52,7 +34,6 @@ class ColorSerializer extends TypeSerializer {
|
|
|
52
34
|
return { r: data.r, g: data.g, b: data.b }
|
|
53
35
|
}
|
|
54
36
|
}
|
|
55
|
-
export const colorSerializer = new ColorSerializer();
|
|
56
37
|
|
|
57
38
|
class EulerSerializer extends TypeSerializer {
|
|
58
39
|
constructor() {
|
|
@@ -72,7 +53,6 @@ class EulerSerializer extends TypeSerializer {
|
|
|
72
53
|
return { x: data.x, y: data.y, z: data.z, order: data.order };
|
|
73
54
|
}
|
|
74
55
|
}
|
|
75
|
-
export const euler = new EulerSerializer();
|
|
76
56
|
|
|
77
57
|
declare type ObjectData = {
|
|
78
58
|
node?: number;
|
|
@@ -107,16 +87,6 @@ class ObjectSerializer extends TypeSerializer {
|
|
|
107
87
|
console.warn(`Wrong usage of @serializable detected in your script \"${scriptname}\"\n\nIt looks like you used @serializable(Object3D) or @serializable(GameObject) for a prefab or scene reference which is exported to a separate glTF file.\n\nTo fix this please change your code to:\n\n@serializable(AssetReference)\n${context.path}! : AssetReference;\n\0`);
|
|
108
88
|
}
|
|
109
89
|
// ACTUALLY: this is already handled by the extension_utils where we resolve json pointers recursively
|
|
110
|
-
// if(data.startsWith("/nodes/")){
|
|
111
|
-
// const node = parseInt(data.substring("/nodes/".length));
|
|
112
|
-
// if (context.nodeToObject) {
|
|
113
|
-
// const res = context.nodeToObject[node];
|
|
114
|
-
// if (debugExtension)
|
|
115
|
-
// console.log("Deserialized object reference?", data, res, context?.nodeToObject);
|
|
116
|
-
// if (!res) console.warn("Did not find node: " + data, context.nodeToObject, context.object);
|
|
117
|
-
// return res;
|
|
118
|
-
// }
|
|
119
|
-
// }
|
|
120
90
|
return undefined;
|
|
121
91
|
}
|
|
122
92
|
|
|
@@ -166,7 +136,6 @@ class ObjectSerializer extends TypeSerializer {
|
|
|
166
136
|
return undefined;
|
|
167
137
|
}
|
|
168
138
|
}
|
|
169
|
-
export const objectSerializer = new ObjectSerializer();
|
|
170
139
|
|
|
171
140
|
|
|
172
141
|
class ComponentSerializer extends TypeSerializer {
|
|
@@ -241,7 +210,6 @@ class ComponentSerializer extends TypeSerializer {
|
|
|
241
210
|
}
|
|
242
211
|
}
|
|
243
212
|
}
|
|
244
|
-
export const componentSerializer = new ComponentSerializer();
|
|
245
213
|
|
|
246
214
|
|
|
247
215
|
declare class EventListData {
|
|
@@ -396,21 +364,12 @@ class EventListSerializer extends TypeSerializer {
|
|
|
396
364
|
// };
|
|
397
365
|
// }
|
|
398
366
|
}
|
|
399
|
-
export const eventListSerializer = new EventListSerializer();
|
|
400
367
|
|
|
401
368
|
|
|
402
369
|
/** Map<Clone, Original> texture. This is used for compressed textures (or when the GLTFLoader is cloning RenderTextures)
|
|
403
370
|
* It's a weak map so we don't have to worry about memory leaks
|
|
404
371
|
*/
|
|
405
372
|
const cloneOriginalMap = new WeakMap<Texture, Texture>();
|
|
406
|
-
const textureClone = Texture.prototype.clone;
|
|
407
|
-
Texture.prototype.clone = function () {
|
|
408
|
-
const clone = textureClone.call(this);
|
|
409
|
-
if (!cloneOriginalMap.has(clone)) {
|
|
410
|
-
cloneOriginalMap.set(clone, this);
|
|
411
|
-
}
|
|
412
|
-
return clone;
|
|
413
|
-
}
|
|
414
373
|
|
|
415
374
|
export class RenderTextureSerializer extends TypeSerializer {
|
|
416
375
|
constructor() {
|
|
@@ -452,7 +411,6 @@ export class RenderTextureSerializer extends TypeSerializer {
|
|
|
452
411
|
return undefined;
|
|
453
412
|
}
|
|
454
413
|
}
|
|
455
|
-
new RenderTextureSerializer();
|
|
456
414
|
|
|
457
415
|
|
|
458
416
|
export class UriSerializer extends TypeSerializer {
|
|
@@ -471,4 +429,35 @@ export class UriSerializer extends TypeSerializer {
|
|
|
471
429
|
return undefined;
|
|
472
430
|
}
|
|
473
431
|
}
|
|
474
|
-
|
|
432
|
+
|
|
433
|
+
|
|
434
|
+
// Module-level references used by EventListSerializer internally
|
|
435
|
+
export let colorSerializer: ColorSerializer;
|
|
436
|
+
export let objectSerializer: ObjectSerializer;
|
|
437
|
+
export let componentSerializer: ComponentSerializer;
|
|
438
|
+
export let eventListSerializer: EventListSerializer;
|
|
439
|
+
|
|
440
|
+
/** Register all builtin serializers and prototype patches.
|
|
441
|
+
* Must be called from {@link initEngine} so the registrations survive tree-shaking
|
|
442
|
+
* when the package declares `sideEffects: false`.
|
|
443
|
+
*/
|
|
444
|
+
export function initBuiltinSerializers() {
|
|
445
|
+
// Prototype patches
|
|
446
|
+
const textureClone = Texture.prototype.clone;
|
|
447
|
+
Texture.prototype.clone = function () {
|
|
448
|
+
const clone = textureClone.call(this);
|
|
449
|
+
if (!cloneOriginalMap.has(clone)) {
|
|
450
|
+
cloneOriginalMap.set(clone, this);
|
|
451
|
+
}
|
|
452
|
+
return clone;
|
|
453
|
+
}
|
|
454
|
+
|
|
455
|
+
// Register all serializers
|
|
456
|
+
colorSerializer = new ColorSerializer();
|
|
457
|
+
new EulerSerializer();
|
|
458
|
+
objectSerializer = new ObjectSerializer();
|
|
459
|
+
componentSerializer = new ComponentSerializer();
|
|
460
|
+
eventListSerializer = new EventListSerializer();
|
|
461
|
+
new RenderTextureSerializer();
|
|
462
|
+
new UriSerializer();
|
|
463
|
+
}
|
|
@@ -1586,4 +1586,7 @@ class AnimatorControllerSerializator extends TypeSerializer {
|
|
|
1586
1586
|
return undefined;
|
|
1587
1587
|
}
|
|
1588
1588
|
}
|
|
1589
|
-
|
|
1589
|
+
/** @internal */
|
|
1590
|
+
export function initAnimatorControllerSerializer() {
|
|
1591
|
+
new AnimatorControllerSerializator(AnimatorController);
|
|
1592
|
+
}
|
|
@@ -290,6 +290,8 @@ export class ReflectionProbe extends Behaviour {
|
|
|
290
290
|
const current = block.getOverride("envMap")?.value;
|
|
291
291
|
if (current === this.texture) {
|
|
292
292
|
block.removeOveride("envMap");
|
|
293
|
+
block.removeOveride("envMapRotation");
|
|
294
|
+
block.removeOveride("envMapIntensity");
|
|
293
295
|
}
|
|
294
296
|
}
|
|
295
297
|
}
|