@needle-tools/engine 2.51.0-pre → 2.53.0-pre
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 +18 -0
- package/dist/needle-engine.d.ts +243 -56
- package/dist/needle-engine.js +380 -381
- package/dist/needle-engine.js.map +4 -4
- package/dist/needle-engine.min.js +41 -42
- package/dist/needle-engine.min.js.map +4 -4
- package/lib/engine/engine_components.js +2 -2
- package/lib/engine/engine_components.js.map +1 -1
- package/lib/engine/engine_networking_instantiate.d.ts +1 -1
- package/lib/engine/engine_networking_instantiate.js +3 -0
- package/lib/engine/engine_networking_instantiate.js.map +1 -1
- package/lib/engine/engine_serialization_builtin_serializer.d.ts +6 -0
- package/lib/engine/engine_serialization_builtin_serializer.js +31 -6
- package/lib/engine/engine_serialization_builtin_serializer.js.map +1 -1
- package/lib/engine/engine_serialization_core.d.ts +1 -0
- package/lib/engine/engine_serialization_core.js +6 -0
- package/lib/engine/engine_serialization_core.js.map +1 -1
- package/lib/engine/engine_setup.js +2 -2
- package/lib/engine/engine_setup.js.map +1 -1
- package/lib/engine/engine_texture.d.ts +3 -0
- package/lib/engine/engine_texture.js +4 -0
- package/lib/engine/engine_texture.js.map +1 -0
- package/lib/engine/engine_utils.d.ts +2 -0
- package/lib/engine/engine_utils.js +9 -0
- package/lib/engine/engine_utils.js.map +1 -1
- package/lib/engine/extensions/{NEEDLE_deferred_texture.d.ts → NEEDLE_progressive.d.ts} +2 -2
- package/lib/engine/extensions/{NEEDLE_deferred_texture.js → NEEDLE_progressive.js} +10 -9
- package/lib/engine/extensions/NEEDLE_progressive.js.map +1 -0
- package/lib/engine/extensions/extensions.js +2 -2
- package/lib/engine/extensions/extensions.js.map +1 -1
- package/lib/engine-components/Camera.d.ts +8 -2
- package/lib/engine-components/Camera.js +56 -4
- package/lib/engine-components/Camera.js.map +1 -1
- package/lib/engine-components/EventTrigger.d.ts +10 -1
- package/lib/engine-components/EventTrigger.js +47 -0
- package/lib/engine-components/EventTrigger.js.map +1 -1
- package/lib/engine-components/Light.js +6 -2
- package/lib/engine-components/Light.js.map +1 -1
- package/lib/engine-components/OrbitControls.js +6 -2
- package/lib/engine-components/OrbitControls.js.map +1 -1
- package/lib/engine-components/ParticleSystemModules.js +0 -1
- package/lib/engine-components/ParticleSystemModules.js.map +1 -1
- package/lib/engine-components/Renderer.d.ts +1 -0
- package/lib/engine-components/Renderer.js +13 -6
- package/lib/engine-components/Renderer.js.map +1 -1
- package/lib/engine-components/ShadowCatcher.js +5 -6
- package/lib/engine-components/ShadowCatcher.js.map +1 -1
- package/lib/engine-components/Skybox.d.ts +1 -0
- package/lib/engine-components/Skybox.js +5 -0
- package/lib/engine-components/Skybox.js.map +1 -1
- package/lib/engine-components/SpriteRenderer.d.ts +19 -3
- package/lib/engine-components/SpriteRenderer.js +154 -41
- package/lib/engine-components/SpriteRenderer.js.map +1 -1
- package/lib/engine-components/Voip.js +13 -4
- package/lib/engine-components/Voip.js.map +1 -1
- package/lib/engine-components/WebXRRig.js +12 -0
- package/lib/engine-components/WebXRRig.js.map +1 -1
- package/lib/engine-components/codegen/components.d.ts +7 -2
- package/lib/engine-components/codegen/components.js +7 -2
- package/lib/engine-components/codegen/components.js.map +1 -1
- package/lib/engine-components/export/{GltfExport.d.ts → gltf/GltfExport.d.ts} +2 -2
- package/lib/engine-components/export/{GltfExport.js → gltf/GltfExport.js} +7 -7
- package/lib/engine-components/export/gltf/GltfExport.js.map +1 -0
- package/lib/engine-components/export/usdz/Extension.d.ts +9 -0
- package/lib/engine-components/export/usdz/Extension.js +2 -0
- package/lib/engine-components/export/usdz/Extension.js.map +1 -0
- package/lib/engine-components/export/usdz/USDZExporter.d.ts +25 -0
- package/lib/engine-components/export/usdz/USDZExporter.js +193 -0
- package/lib/engine-components/export/usdz/USDZExporter.js.map +1 -0
- package/lib/engine-components/export/usdz/extensions/Animation.d.ts +44 -0
- package/lib/engine-components/export/usdz/extensions/Animation.js +264 -0
- package/lib/engine-components/export/usdz/extensions/Animation.js.map +1 -0
- package/lib/engine-components/export/usdz/types.d.ts +34 -0
- package/lib/engine-components/export/usdz/types.js +2 -0
- package/lib/engine-components/export/usdz/types.js.map +1 -0
- package/lib/engine-components/export/usdz/utils/animationutils.d.ts +3 -0
- package/lib/engine-components/export/usdz/utils/animationutils.js +46 -0
- package/lib/engine-components/export/usdz/utils/animationutils.js.map +1 -0
- package/lib/engine-components/export/usdz/utils/quicklook.d.ts +2 -0
- package/lib/engine-components/export/usdz/utils/quicklook.js +36 -0
- package/lib/engine-components/export/usdz/utils/quicklook.js.map +1 -0
- package/lib/engine-components/export/usdz/utils/timeutils.d.ts +1 -0
- package/lib/engine-components/export/usdz/utils/timeutils.js +15 -0
- package/lib/engine-components/export/usdz/utils/timeutils.js.map +1 -0
- package/lib/engine-components/timeline/PlayableDirector.js +6 -0
- package/lib/engine-components/timeline/PlayableDirector.js.map +1 -1
- package/lib/engine-components/ui/Graphic.d.ts +2 -0
- package/lib/engine-components/ui/Graphic.js +15 -0
- package/lib/engine-components/ui/Graphic.js.map +1 -1
- package/lib/engine-components/ui/Utils.d.ts +2 -1
- package/lib/engine-components/ui/Utils.js +5 -3
- package/lib/engine-components/ui/Utils.js.map +1 -1
- package/package.json +2 -2
- package/src/engine/codegen/register_types.js +16 -6
- package/src/engine/engine_components.ts +2 -2
- package/src/engine/engine_networking_instantiate.ts +4 -1
- package/src/engine/engine_serialization_builtin_serializer.ts +35 -7
- package/src/engine/engine_serialization_core.ts +7 -1
- package/src/engine/engine_setup.ts +2 -2
- package/src/engine/engine_texture.ts +6 -0
- package/src/engine/engine_utils.ts +13 -2
- package/src/engine/extensions/{NEEDLE_deferred_texture.ts → NEEDLE_progressive.ts} +18 -17
- package/src/engine/extensions/extensions.ts +2 -2
- package/src/engine-components/Camera.ts +53 -5
- package/src/engine-components/EventTrigger.ts +39 -19
- package/src/engine-components/Light.ts +6 -2
- package/src/engine-components/OrbitControls.ts +7 -3
- package/src/engine-components/ParticleSystemModules.ts +0 -3
- package/src/engine-components/Renderer.ts +13 -7
- package/src/engine-components/ShadowCatcher.ts +5 -6
- package/src/engine-components/Skybox.ts +4 -0
- package/src/engine-components/SpriteRenderer.ts +140 -44
- package/src/engine-components/Voip.ts +14 -4
- package/src/engine-components/WebXRRig.ts +14 -1
- package/src/engine-components/codegen/components.ts +7 -2
- package/src/engine-components/export/{GltfExport.ts → gltf/GltfExport.ts} +7 -7
- package/src/engine-components/export/usdz/Extension.ts +12 -0
- package/src/engine-components/export/usdz/USDZExporter.ts +216 -0
- package/src/engine-components/export/usdz/extensions/Animation.ts +306 -0
- package/src/engine-components/export/usdz/types.ts +39 -0
- package/src/engine-components/export/usdz/utils/animationutils.ts +60 -0
- package/src/engine-components/export/usdz/utils/quicklook.ts +43 -0
- package/src/engine-components/export/usdz/utils/timeutils.ts +20 -0
- package/src/engine-components/timeline/PlayableDirector.ts +5 -0
- package/src/engine-components/ui/Graphic.ts +15 -1
- package/src/engine-components/ui/Utils.ts +5 -3
- package/lib/engine/extensions/NEEDLE_deferred_texture.js.map +0 -1
- package/lib/engine-components/export/GltfExport.js.map +0 -1
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export function ensureQuicklookLinkIsCreated(context) {
|
|
2
|
+
const existingLink = context.domElement.querySelector("link[rel='ar']");
|
|
3
|
+
if (existingLink)
|
|
4
|
+
return existingLink;
|
|
5
|
+
/*
|
|
6
|
+
generating this:
|
|
7
|
+
<div class="menu">
|
|
8
|
+
<button id="open-in-ar">Open in QuickLook</button>
|
|
9
|
+
<a style="display:none;" id="link" rel="ar" href="" download="asset.usdz">
|
|
10
|
+
<img id="button" width="100" src="files/arkit.png">
|
|
11
|
+
</a>
|
|
12
|
+
</div>
|
|
13
|
+
*/
|
|
14
|
+
const div = document.createElement("div");
|
|
15
|
+
div.classList.add("menu");
|
|
16
|
+
div.classList.add("quicklook-menu");
|
|
17
|
+
div.style.display = "none";
|
|
18
|
+
div.style.visibility = "hidden";
|
|
19
|
+
const button = document.createElement("button");
|
|
20
|
+
button.id = "open-in-ar";
|
|
21
|
+
button.innerText = "Open in QuickLook";
|
|
22
|
+
div.appendChild(button);
|
|
23
|
+
const link = document.createElement("a");
|
|
24
|
+
link.id = "needle-usdz-link";
|
|
25
|
+
link.style.display = "none";
|
|
26
|
+
link.rel = "ar";
|
|
27
|
+
link.href = "";
|
|
28
|
+
div.appendChild(link);
|
|
29
|
+
const img = document.createElement("img");
|
|
30
|
+
img.id = "button";
|
|
31
|
+
// img.src = "files/arkit.png";
|
|
32
|
+
link.appendChild(img);
|
|
33
|
+
context.domElement.appendChild(div);
|
|
34
|
+
return link;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=quicklook.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quicklook.js","sourceRoot":"","sources":["../../../../../../engine-components/export/usdz/utils/quicklook.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,4BAA4B,CAAC,OAAgB;IACzD,MAAM,YAAY,GAAG,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;IACxE,IAAG,YAAY;QAAE,OAAO,YAAiC,CAAC;IAE1D;;;;;;;;MAQE;IAEF,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC1C,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACpC,GAAG,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IAC3B,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;IAEhC,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAChD,MAAM,CAAC,EAAE,GAAG,YAAY,CAAC;IACzB,MAAM,CAAC,SAAS,GAAG,mBAAmB,CAAC;IACvC,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IAExB,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACzC,IAAI,CAAC,EAAE,GAAG,kBAAkB,CAAC;IAC7B,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;IAC5B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;IAChB,IAAI,CAAC,IAAI,GAAG,EAAE,CAAC;IACf,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAEtB,MAAM,GAAG,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC1C,GAAG,CAAC,EAAE,GAAG,QAAQ,CAAC;IAClB,+BAA+B;IAC/B,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAEtB,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACpC,OAAO,IAAyB,CAAC;AACrC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getFormattedDate(): string;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export function getFormattedDate() {
|
|
2
|
+
var date = new Date();
|
|
3
|
+
const month = date.getMonth() + 1;
|
|
4
|
+
const day = date.getDate();
|
|
5
|
+
const hour = date.getHours();
|
|
6
|
+
const min = date.getMinutes();
|
|
7
|
+
const sec = date.getSeconds();
|
|
8
|
+
const s_month = (month < 10 ? "0" : "") + month;
|
|
9
|
+
const s_day = (day < 10 ? "0" : "") + day;
|
|
10
|
+
const s_hour = (hour < 10 ? "0" : "") + hour;
|
|
11
|
+
const s_min = (min < 10 ? "0" : "") + min;
|
|
12
|
+
const s_sec = (sec < 10 ? "0" : "") + sec;
|
|
13
|
+
return date.getFullYear() + s_month + s_day + "-" + s_hour + s_min + s_sec;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=timeutils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timeutils.js","sourceRoot":"","sources":["../../../../../../engine-components/export/usdz/utils/timeutils.ts"],"names":[],"mappings":"AAGA,MAAM,UAAU,gBAAgB;IAC5B,IAAI,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IAEtB,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;IAC3B,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;IAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;IAE9B,MAAM,OAAO,GAAG,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC;IAChD,MAAM,KAAK,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;IAC1C,MAAM,MAAM,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;IAC7C,MAAM,KAAK,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;IAC1C,MAAM,KAAK,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;IAE1C,OAAO,IAAI,CAAC,WAAW,EAAE,GAAG,OAAO,GAAG,KAAK,GAAG,GAAG,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;AAC/E,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { Animator } from '../Animator';
|
|
1
2
|
import { Behaviour, GameObject } from '../Component';
|
|
2
3
|
import * as THREE from 'three';
|
|
3
4
|
import { AudioListener } from '../AudioListener';
|
|
@@ -280,6 +281,11 @@ export class PlayableDirector extends Behaviour {
|
|
|
280
281
|
if (debug)
|
|
281
282
|
console.log("Resolved binding", binding, "to", obj);
|
|
282
283
|
track.outputs[i] = obj;
|
|
284
|
+
if (obj instanceof Animator) {
|
|
285
|
+
// TODO: should disable? animator but this is not the animator that is currently on the object? needs investigation
|
|
286
|
+
// console.log("DISABLE ANIMATOR", obj, obj.name, binding, this._guidsMap);
|
|
287
|
+
// obj.enabled = false;
|
|
288
|
+
}
|
|
283
289
|
}
|
|
284
290
|
}
|
|
285
291
|
else if (binding === null) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlayableDirector.js","sourceRoot":"","sources":["../../../../engine-components/timeline/PlayableDirector.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PlayableDirector.js","sourceRoot":"","sources":["../../../../engine-components/timeline/PlayableDirector.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,6 +26,8 @@ export declare class Graphic extends BaseUIComponent implements IGraphic {
|
|
|
26
26
|
protected onBeforeCreate(_opts: any): void;
|
|
27
27
|
protected onCreate(opts: any): void;
|
|
28
28
|
protected onAfterCreated(): void;
|
|
29
|
+
/** used internally to ensure textures assigned to UI use linear encoding */
|
|
30
|
+
static textureCache: Map<Texture, Texture>;
|
|
29
31
|
protected setTexture(tex: Texture | null | undefined): Promise<void>;
|
|
30
32
|
protected onAfterAddedToScene(): void;
|
|
31
33
|
}
|
|
@@ -7,6 +7,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
import { RGBAColor } from "../js-extensions/RGBAColor";
|
|
8
8
|
import { BaseUIComponent } from "./BaseUIComponent";
|
|
9
9
|
import { serializable } from '../../engine/engine_serialization_decorator';
|
|
10
|
+
import { LinearEncoding, sRGBEncoding } from 'three';
|
|
10
11
|
import { RectTransform } from './RectTransform';
|
|
11
12
|
import { onChange, scheduleAction } from "./Utils";
|
|
12
13
|
import { GameObject } from '../Component';
|
|
@@ -109,11 +110,25 @@ export class Graphic extends BaseUIComponent {
|
|
|
109
110
|
this.uiObject.name = this.name;
|
|
110
111
|
}
|
|
111
112
|
onAfterCreated() { }
|
|
113
|
+
/** used internally to ensure textures assigned to UI use linear encoding */
|
|
114
|
+
static textureCache = new Map();
|
|
112
115
|
async setTexture(tex) {
|
|
113
116
|
if (!tex)
|
|
114
117
|
return;
|
|
115
118
|
this.setOptions({ backgroundOpacity: 0 });
|
|
116
119
|
if (tex) {
|
|
120
|
+
// workaround for https://github.com/needle-tools/needle-engine-support/issues/109
|
|
121
|
+
if (tex.encoding === sRGBEncoding) {
|
|
122
|
+
if (Graphic.textureCache.has(tex)) {
|
|
123
|
+
tex = Graphic.textureCache.get(tex);
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
const clone = tex.clone();
|
|
127
|
+
clone.encoding = LinearEncoding;
|
|
128
|
+
Graphic.textureCache.set(tex, clone);
|
|
129
|
+
tex = clone;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
117
132
|
this.setOptions({ backgroundTexture: tex, borderRadius: 0, backgroundOpacity: this.color.alpha, backgroundSize: "stretch" });
|
|
118
133
|
}
|
|
119
134
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Graphic.js","sourceRoot":"","sources":["../../../../engine-components/ui/Graphic.ts"],"names":[],"mappings":";;;;;;AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAA;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,6CAA6C,CAAC;
|
|
1
|
+
{"version":3,"file":"Graphic.js","sourceRoot":"","sources":["../../../../engine-components/ui/Graphic.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,6 +14,7 @@ export declare type RevocableProxy = {
|
|
|
14
14
|
revoke: () => void;
|
|
15
15
|
};
|
|
16
16
|
/** internal method to proxy a field to detect changes */
|
|
17
|
+
/**@deprecated use watcher instead */
|
|
17
18
|
export declare function onChange<T extends object>(caller: T, field: string, callback: (newValue: any, oldValue: any) => void): RevocableProxy;
|
|
18
|
-
/** internal method to
|
|
19
|
+
/** internal method to schedule a function at a specific moment in the update loop */
|
|
19
20
|
export declare function scheduleAction(caller: Behaviour, action: Function, timing?: FrameEvent): void;
|
|
@@ -36,6 +36,7 @@ export function updateRenderSettings(shadowComponent, settings) {
|
|
|
36
36
|
}
|
|
37
37
|
// TODO: change to use utils Watch since a revocable proxy makes a object completely useless once it is revoked
|
|
38
38
|
/** internal method to proxy a field to detect changes */
|
|
39
|
+
/**@deprecated use watcher instead */
|
|
39
40
|
export function onChange(caller, field, callback) {
|
|
40
41
|
if (caller[field] === undefined) {
|
|
41
42
|
console.warn("Field", field, "is undefined on", caller);
|
|
@@ -62,12 +63,13 @@ export function onChange(caller, field, callback) {
|
|
|
62
63
|
caller[field] = res.proxy;
|
|
63
64
|
return res;
|
|
64
65
|
}
|
|
66
|
+
const $scheduledActionKey = Symbol("Scheduled action");
|
|
65
67
|
// use to schedule a callback at a specific moment in the frame
|
|
66
|
-
/** internal method to
|
|
68
|
+
/** internal method to schedule a function at a specific moment in the update loop */
|
|
67
69
|
export function scheduleAction(caller, action, timing = FrameEvent.OnBeforeRender) {
|
|
68
|
-
let cache = caller[
|
|
70
|
+
let cache = caller[$scheduledActionKey];
|
|
69
71
|
if (!cache)
|
|
70
|
-
cache = caller[
|
|
72
|
+
cache = caller[$scheduledActionKey] = {};
|
|
71
73
|
const key = action.name;
|
|
72
74
|
if (!cache[timing])
|
|
73
75
|
cache[timing] = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../../../engine-components/ui/Utils.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"Utils.js","sourceRoot":"","sources":["../../../../engine-components/ui/Utils.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": "2.
|
|
3
|
+
"version": "2.53.0-pre",
|
|
4
4
|
"description": "Needle Engine is a web-based runtime for 3D apps. It runs on your machine for development, and can be deployed anywhere. It is flexible, extensible, and collaboration and XR come naturally.",
|
|
5
5
|
"main": "dist/needle-engine.js",
|
|
6
6
|
"module": "src/needle-engine.ts",
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"peerjs": "1.3.2",
|
|
48
48
|
"simplex-noise": "^4.0.1",
|
|
49
49
|
"stats.js": "^0.17.0",
|
|
50
|
-
"three": "npm:@needle-tools/three@^0.146.
|
|
50
|
+
"three": "npm:@needle-tools/three@^0.146.2",
|
|
51
51
|
"three-mesh-ui": "^6.4.5",
|
|
52
52
|
"three.meshline": "^1.4.0",
|
|
53
53
|
"three.quarks": "^0.7.3",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TypeStore } from "./../engine_typestore"
|
|
2
|
-
|
|
2
|
+
|
|
3
3
|
// Import types
|
|
4
4
|
import { AlignmentConstraint } from "../../engine-components/AlignmentConstraint.ts";
|
|
5
5
|
import { Animation } from "../../engine-components/Animation.ts";
|
|
@@ -86,6 +86,7 @@ import { SpatialTriggerReceiver } from "../../engine-components/SpatialTrigger.t
|
|
|
86
86
|
import { SpatialTrigger } from "../../engine-components/SpatialTrigger.ts";
|
|
87
87
|
import { SpectatorCamera } from "../../engine-components/SpectatorCamera.ts";
|
|
88
88
|
import { Sprite } from "../../engine-components/SpriteRenderer.ts";
|
|
89
|
+
import { SpriteSheet } from "../../engine-components/SpriteRenderer.ts";
|
|
89
90
|
import { SpriteRenderer } from "../../engine-components/SpriteRenderer.ts";
|
|
90
91
|
import { SyncedCamera } from "../../engine-components/SyncedCamera.ts";
|
|
91
92
|
import { SyncedRoom } from "../../engine-components/SyncedRoom.ts";
|
|
@@ -124,8 +125,6 @@ import { Avatar_MouthShapes } from "../../engine-components/avatar/Avatar_MouthS
|
|
|
124
125
|
import { Avatar_MustacheShake } from "../../engine-components/avatar/Avatar_MustacheShake.ts";
|
|
125
126
|
import { __Ignore } from "../../engine-components/codegen/components.ts";
|
|
126
127
|
import { LogStats } from "../../engine-components/debug/LogStats.ts";
|
|
127
|
-
import { GltfExportBox } from "../../engine-components/export/GltfExport.ts";
|
|
128
|
-
import { GltfExport } from "../../engine-components/export/GltfExport.ts";
|
|
129
128
|
import { RGBAColor } from "../../engine-components/js-extensions/RGBAColor.ts";
|
|
130
129
|
import { PlayableDirector } from "../../engine-components/timeline/PlayableDirector.ts";
|
|
131
130
|
import { SignalAsset } from "../../engine-components/timeline/SignalAsset.ts";
|
|
@@ -161,13 +160,19 @@ import { Rect } from "../../engine-components/ui/RectTransform.ts";
|
|
|
161
160
|
import { RectTransform } from "../../engine-components/ui/RectTransform.ts";
|
|
162
161
|
import { SpatialHtml } from "../../engine-components/ui/SpatialHtml.ts";
|
|
163
162
|
import { Text } from "../../engine-components/ui/Text.ts";
|
|
163
|
+
import { GltfExportBox } from "../../engine-components/export/gltf/GltfExport.ts";
|
|
164
|
+
import { GltfExport } from "../../engine-components/export/gltf/GltfExport.ts";
|
|
165
|
+
import { USDZExporter } from "../../engine-components/export/usdz/USDZExporter.ts";
|
|
166
|
+
import { RegisteredAnimationInfo } from "../../engine-components/export/usdz/extensions/Animation.ts";
|
|
167
|
+
import { TransformData } from "../../engine-components/export/usdz/extensions/Animation.ts";
|
|
168
|
+
import { AnimationExtension } from "../../engine-components/export/usdz/extensions/Animation.ts";
|
|
164
169
|
import { PresentationMode } from "../../engine-components-experimental/Presentation.ts";
|
|
165
170
|
import { LinesDrawer } from "../../engine-components-experimental/annotation/LineDrawer.ts";
|
|
166
171
|
import { LineInstanceHandler } from "../../engine-components-experimental/annotation/LinesManager.ts";
|
|
167
172
|
import { LinesManager } from "../../engine-components-experimental/annotation/LinesManager.ts";
|
|
168
173
|
import { PlayerSync } from "../../engine-components-experimental/networking/PlayerSync.ts";
|
|
169
174
|
import { PlayerState } from "../../engine-components-experimental/networking/PlayerSync.ts";
|
|
170
|
-
|
|
175
|
+
|
|
171
176
|
// Register types
|
|
172
177
|
TypeStore.add("AlignmentConstraint", AlignmentConstraint);
|
|
173
178
|
TypeStore.add("Animation", Animation);
|
|
@@ -254,6 +259,7 @@ TypeStore.add("SpatialTriggerReceiver", SpatialTriggerReceiver);
|
|
|
254
259
|
TypeStore.add("SpatialTrigger", SpatialTrigger);
|
|
255
260
|
TypeStore.add("SpectatorCamera", SpectatorCamera);
|
|
256
261
|
TypeStore.add("Sprite", Sprite);
|
|
262
|
+
TypeStore.add("SpriteSheet", SpriteSheet);
|
|
257
263
|
TypeStore.add("SpriteRenderer", SpriteRenderer);
|
|
258
264
|
TypeStore.add("SyncedCamera", SyncedCamera);
|
|
259
265
|
TypeStore.add("SyncedRoom", SyncedRoom);
|
|
@@ -292,8 +298,6 @@ TypeStore.add("Avatar_MouthShapes", Avatar_MouthShapes);
|
|
|
292
298
|
TypeStore.add("Avatar_MustacheShake", Avatar_MustacheShake);
|
|
293
299
|
TypeStore.add("__Ignore", __Ignore);
|
|
294
300
|
TypeStore.add("LogStats", LogStats);
|
|
295
|
-
TypeStore.add("GltfExportBox", GltfExportBox);
|
|
296
|
-
TypeStore.add("GltfExport", GltfExport);
|
|
297
301
|
TypeStore.add("RGBAColor", RGBAColor);
|
|
298
302
|
TypeStore.add("PlayableDirector", PlayableDirector);
|
|
299
303
|
TypeStore.add("SignalAsset", SignalAsset);
|
|
@@ -329,6 +333,12 @@ TypeStore.add("Rect", Rect);
|
|
|
329
333
|
TypeStore.add("RectTransform", RectTransform);
|
|
330
334
|
TypeStore.add("SpatialHtml", SpatialHtml);
|
|
331
335
|
TypeStore.add("Text", Text);
|
|
336
|
+
TypeStore.add("GltfExportBox", GltfExportBox);
|
|
337
|
+
TypeStore.add("GltfExport", GltfExport);
|
|
338
|
+
TypeStore.add("USDZExporter", USDZExporter);
|
|
339
|
+
TypeStore.add("RegisteredAnimationInfo", RegisteredAnimationInfo);
|
|
340
|
+
TypeStore.add("TransformData", TransformData);
|
|
341
|
+
TypeStore.add("AnimationExtension", AnimationExtension);
|
|
332
342
|
TypeStore.add("PresentationMode", PresentationMode);
|
|
333
343
|
TypeStore.add("LinesDrawer", LinesDrawer);
|
|
334
344
|
TypeStore.add("LineInstanceHandler", LineInstanceHandler);
|
|
@@ -102,7 +102,7 @@ function onGetComponent<T>(obj: Object3D | null | undefined, componentType: Cons
|
|
|
102
102
|
if (typeof componentType === "string") {
|
|
103
103
|
if (!didWarnAboutComponentAccess) {
|
|
104
104
|
didWarnAboutComponentAccess = true;
|
|
105
|
-
console.warn(`Accessing components by name is not supported.\nPlease use the component type instead. This may keep working in local development but it will fail when bundling your application.\n\nYou can import other modules your main module to get access to types\nor if you use npmdefs you can make types available globally using globalThis:\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/globalThis
|
|
105
|
+
console.warn(`Accessing components by name is not supported.\nPlease use the component type instead. This may keep working in local development but it will fail when bundling your application.\n\nYou can import other modules your main module to get access to types\nor if you use npmdefs you can make types available globally using globalThis:\nhttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/globalThis`, componentType);
|
|
106
106
|
}
|
|
107
107
|
}
|
|
108
108
|
if (debug)
|
|
@@ -146,7 +146,7 @@ export function getComponents<T>(obj: Object3D, componentType: Constructor<T>, a
|
|
|
146
146
|
|
|
147
147
|
export function getComponentInChildren<T>(obj: Object3D, componentType: Constructor<T>, includeInactive?: boolean) {
|
|
148
148
|
const res = getComponent(obj, componentType);
|
|
149
|
-
if (includeInactive === false && res
|
|
149
|
+
if (includeInactive === false && res?.enabled === false) return null;
|
|
150
150
|
if (res) return res;
|
|
151
151
|
for (let i = 0; i < obj?.children?.length; i++) {
|
|
152
152
|
const res = getComponentInChildren(obj.children[i], componentType);
|
|
@@ -35,7 +35,10 @@ export class InstantiateIdProvider implements UIDProvider {
|
|
|
35
35
|
private _originalSeed: number;
|
|
36
36
|
private _seed: number;
|
|
37
37
|
|
|
38
|
-
constructor(seed: number) {
|
|
38
|
+
constructor(seed: string | number) {
|
|
39
|
+
if (typeof seed === "string") {
|
|
40
|
+
seed = InstantiateIdProvider.hash(seed);
|
|
41
|
+
}
|
|
39
42
|
this._originalSeed = seed;
|
|
40
43
|
this._seed = seed;
|
|
41
44
|
}
|
|
@@ -4,7 +4,8 @@ import { SerializationContext, TypeSerializer } from "./engine_serialization_cor
|
|
|
4
4
|
import { Behaviour, Component, GameObject } from "../engine-components/Component";
|
|
5
5
|
import { debugExtension } from "./engine_default_parameters";
|
|
6
6
|
import { CallInfo, EventList } from "../engine-components/EventList";
|
|
7
|
-
import { Color, Object3D } from "three";
|
|
7
|
+
import { Color, Object3D, Texture, WebGLRenderTarget } from "three";
|
|
8
|
+
import { RenderTexture } from "./engine_texture";
|
|
8
9
|
|
|
9
10
|
// export class SourcePath {
|
|
10
11
|
// src?:string
|
|
@@ -96,7 +97,10 @@ class ObjectSerializer extends TypeSerializer {
|
|
|
96
97
|
if (!res) {
|
|
97
98
|
res = GameObject.findByGuid(data.guid, context.context.scene);
|
|
98
99
|
}
|
|
99
|
-
if (!res)
|
|
100
|
+
if (!res) {
|
|
101
|
+
console.warn("Could not resolve object reference", context.path, data, context.target, context.context.scene);
|
|
102
|
+
data["could_not_resolve"] = true;
|
|
103
|
+
}
|
|
100
104
|
else if (debugExtension)
|
|
101
105
|
console.log("Deserialized object reference?", data, res, context?.nodeToObject);
|
|
102
106
|
return res;
|
|
@@ -129,15 +133,19 @@ class ComponentSerializer extends TypeSerializer {
|
|
|
129
133
|
console.log(data.guid, context.root, context.object, context.target);
|
|
130
134
|
// first search within the gltf (e.g. necessary when using AssetReference and loading a gltf without adding it to the scene)
|
|
131
135
|
// if we would search JUST the scene those references would NEVER be resolved
|
|
132
|
-
|
|
136
|
+
let res = this.findObjectForGuid(data.guid, context.root);
|
|
133
137
|
if (res) {
|
|
134
138
|
return res;
|
|
135
139
|
}
|
|
136
|
-
|
|
140
|
+
if (context.context) {
|
|
137
141
|
// if not found within the gltf use the provided context scene
|
|
138
142
|
// to find references outside
|
|
139
|
-
|
|
143
|
+
res = this.findObjectForGuid(data.guid, context.context?.scene);
|
|
144
|
+
if(res) return res;
|
|
140
145
|
}
|
|
146
|
+
console.warn("Could not resolve component reference", context.path, data, context.target);
|
|
147
|
+
data["could_not_resolve"] = true;
|
|
148
|
+
return undefined;
|
|
141
149
|
}
|
|
142
150
|
// if (data?.node !== undefined && context.nodeToObject) {
|
|
143
151
|
// return context.nodeToObject[data.node];
|
|
@@ -191,8 +199,7 @@ class EventListSerializer extends TypeSerializer {
|
|
|
191
199
|
|
|
192
200
|
onDeserialize(data: EventListData, context: SerializationContext): EventList | undefined | null {
|
|
193
201
|
// TODO: check that we dont accidentally deserialize methods to EventList objects. This is here to make is easy for react-three-fiber to just add props as { () => { } }
|
|
194
|
-
if(typeof data === "function")
|
|
195
|
-
{
|
|
202
|
+
if (typeof data === "function") {
|
|
196
203
|
const evtList = new EventList([new CallInfo(data, true)]);
|
|
197
204
|
return evtList;
|
|
198
205
|
}
|
|
@@ -284,3 +291,24 @@ class EventListSerializer extends TypeSerializer {
|
|
|
284
291
|
}
|
|
285
292
|
export const eventListSerializer = new EventListSerializer();
|
|
286
293
|
|
|
294
|
+
|
|
295
|
+
|
|
296
|
+
export class RenderTextureSerializer extends TypeSerializer {
|
|
297
|
+
constructor() {
|
|
298
|
+
super([RenderTexture, WebGLRenderTarget]);
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
onSerialize(_data: any, _context: SerializationContext) {
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
onDeserialize(data: any, context: SerializationContext) {
|
|
305
|
+
if(data instanceof Texture && context.type === RenderTexture){
|
|
306
|
+
const tex = data as Texture;
|
|
307
|
+
const rt = new RenderTexture(tex.image.width, tex.image.height);
|
|
308
|
+
rt.texture = tex;
|
|
309
|
+
return rt;
|
|
310
|
+
}
|
|
311
|
+
return undefined;
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
new RenderTextureSerializer();
|
|
@@ -181,6 +181,7 @@ export class SerializationContext {
|
|
|
181
181
|
objectToNode?: ObjectToNodeMap;
|
|
182
182
|
context?: Context;
|
|
183
183
|
path?: string;
|
|
184
|
+
type?: Constructor<any>;
|
|
184
185
|
/** holds information if a field was undefined before serialization. This gives us info if we might want to warn the user about missing attributes */
|
|
185
186
|
implementationInformation?: ImplementationInformation;
|
|
186
187
|
|
|
@@ -286,6 +287,7 @@ export function deserializeObject(obj: ISerializable, serializedData: object, co
|
|
|
286
287
|
continue;
|
|
287
288
|
}
|
|
288
289
|
|
|
290
|
+
context.type = undefined;
|
|
289
291
|
context.path = key;
|
|
290
292
|
|
|
291
293
|
if (serializedEntryInfo === null) {
|
|
@@ -376,6 +378,9 @@ function checkObjectAssignments(obj: any, serializedData: any, implementationInf
|
|
|
376
378
|
if (typeof serialized === "object") {
|
|
377
379
|
if (value === undefined || !value.isObject3D) {
|
|
378
380
|
if (typeof serialized["node"] === "number" || typeof serialized["guid"] === "string") {
|
|
381
|
+
if (serialized["could_not_resolve"]) {
|
|
382
|
+
continue;
|
|
383
|
+
}
|
|
379
384
|
const hasOtherKeys = value !== undefined && Object.keys(value).length > 1;
|
|
380
385
|
if (!hasOtherKeys) {
|
|
381
386
|
showBalloonMessage(`<strong>Missing serialization for object reference!</strong>\n\nPlease change to: \n@serializable(Object3D)\n${key}? : Object3D;\n\nin script ${typeName}.ts\n<a href="https://docs.needle.tools/serializable" target="_blank">documentation</a>`, LogType.Warn);
|
|
@@ -453,7 +458,8 @@ function deserializeObjectWithType(data: any, typeOrConstructor: Constructor<any
|
|
|
453
458
|
console.error("Error in callback", err, data);
|
|
454
459
|
}
|
|
455
460
|
}
|
|
456
|
-
|
|
461
|
+
context.type = type;
|
|
462
|
+
|
|
457
463
|
// e.g. when @serializable(Texture) and the texture is already resolved via json pointer from gltf
|
|
458
464
|
// then we dont need to do anything else
|
|
459
465
|
if (!typeIsFunction && currentValue instanceof type) return currentValue;
|
|
@@ -134,8 +134,8 @@ export class Context {
|
|
|
134
134
|
private calculateBoundingClientRect() {
|
|
135
135
|
// workaround for mozilla webXR viewer
|
|
136
136
|
if (this.isInAR) {
|
|
137
|
-
this._domX =
|
|
138
|
-
this._domY =
|
|
137
|
+
this._domX = 0;
|
|
138
|
+
this._domY = 0;
|
|
139
139
|
return;
|
|
140
140
|
}
|
|
141
141
|
if (this._boundingClientRectFrame === this.time.frame) return;
|
|
@@ -370,6 +370,17 @@ export function isMobileDevice() {
|
|
|
370
370
|
return (typeof window.orientation !== "undefined") || (navigator.userAgent.indexOf('IEMobile') !== -1);
|
|
371
371
|
}
|
|
372
372
|
|
|
373
|
-
export function isMozillaXR(){
|
|
374
|
-
return /WebXRViewer\//i.test(
|
|
373
|
+
export function isMozillaXR() {
|
|
374
|
+
return /WebXRViewer\//i.test(navigator.userAgent);
|
|
375
|
+
}
|
|
376
|
+
|
|
377
|
+
const iosDevices = ['iPad Simulator', 'iPhone Simulator', 'iPod Simulator', 'iPad', 'iPhone', 'iPod'];
|
|
378
|
+
export function isiOS() {
|
|
379
|
+
return iosDevices.includes(navigator.platform)
|
|
380
|
+
// iPad on iOS 13 detection
|
|
381
|
+
|| (navigator.userAgent.includes("Mac") && "ontouchend" in document)
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
export function isSafari() {
|
|
385
|
+
return /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
|
|
375
386
|
}
|