@needle-tools/engine 4.14.0 → 4.15.0-next.f391a30
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 +8 -0
- package/components.needle.json +1 -1
- package/dist/{gltf-progressive-BttGBXw6.umd.cjs → gltf-progressive-CMwJPwEt.umd.cjs} +1 -1
- package/dist/{gltf-progressive-Bm_6aEi4.js → gltf-progressive-CTlvpS3A.js} +1 -1
- package/dist/{gltf-progressive-T5WKTux5.min.js → gltf-progressive-DYL3SLVb.min.js} +1 -1
- package/dist/materialx-4jJLLe9Q.js +4174 -0
- package/dist/materialx-Bt9FHwco.min.js +158 -0
- package/dist/materialx-NDD0y4JY.umd.cjs +158 -0
- package/dist/{needle-engine.bundle-COL2Bar3.umd.cjs → needle-engine.bundle-C1BFRZDF.umd.cjs} +150 -140
- package/dist/{needle-engine.bundle-Z_gAD7Kg.js → needle-engine.bundle-DB4kLWO_.js} +6651 -6400
- package/dist/{needle-engine.bundle-NolzHLqO.min.js → needle-engine.bundle-DsTdfmeb.min.js} +151 -141
- package/dist/needle-engine.d.ts +345 -88
- package/dist/needle-engine.js +322 -322
- package/dist/needle-engine.min.js +1 -1
- package/dist/needle-engine.umd.cjs +1 -1
- package/dist/{postprocessing-06AXuvdv.min.js → postprocessing-BN-f4viE.min.js} +1 -1
- package/dist/{postprocessing-CPDcA21P.umd.cjs → postprocessing-DYmYOVm4.umd.cjs} +1 -1
- package/dist/{postprocessing-CI2x8Cln.js → postprocessing-De9ZpJrk.js} +1 -1
- package/dist/{three-examples-BMmNgNCN.umd.cjs → three-examples-BHqRVpO_.umd.cjs} +12 -12
- package/dist/{three-examples-CMYCd5nH.js → three-examples-C0ZCCA_K.js} +182 -192
- package/dist/{three-examples-CQl1fFZp.min.js → three-examples-DmTY8tGr.min.js} +14 -14
- package/lib/engine/api.d.ts +0 -2
- package/lib/engine/api.js +0 -2
- package/lib/engine/api.js.map +1 -1
- package/lib/engine/debug/debug.js +1 -1
- package/lib/engine/debug/debug.js.map +1 -1
- package/lib/engine/debug/debug_spatial_console.js +1 -1
- package/lib/engine/debug/debug_spatial_console.js.map +1 -1
- package/lib/engine/engine_accessibility.d.ts +77 -0
- package/lib/engine/engine_accessibility.js +162 -0
- package/lib/engine/engine_accessibility.js.map +1 -0
- package/lib/engine/engine_context.d.ts +2 -0
- package/lib/engine/engine_context.js +8 -1
- package/lib/engine/engine_context.js.map +1 -1
- package/lib/engine/engine_create_objects.js +1 -1
- package/lib/engine/engine_create_objects.js.map +1 -1
- package/lib/engine/engine_gizmos.js +1 -1
- package/lib/engine/engine_gizmos.js.map +1 -1
- package/lib/engine/engine_license.js +7 -2
- package/lib/engine/engine_license.js.map +1 -1
- package/lib/engine/engine_materialpropertyblock.d.ts +90 -4
- package/lib/engine/engine_materialpropertyblock.js +97 -7
- package/lib/engine/engine_materialpropertyblock.js.map +1 -1
- package/lib/engine/engine_math.d.ts +34 -1
- package/lib/engine/engine_math.js +34 -1
- package/lib/engine/engine_math.js.map +1 -1
- package/lib/engine/engine_networking.js +1 -1
- package/lib/engine/engine_networking.js.map +1 -1
- package/lib/engine/engine_types.d.ts +2 -0
- package/lib/engine/engine_types.js +2 -0
- package/lib/engine/engine_types.js.map +1 -1
- package/lib/engine/engine_utils.js +2 -2
- package/lib/engine/engine_utils.js.map +1 -1
- package/lib/engine/export/gltf/EXT_mesh_gpu_instancing_exporter.js.map +1 -0
- package/lib/engine/export/gltf/index.js +1 -1
- package/lib/engine/export/gltf/index.js.map +1 -1
- package/lib/engine/webcomponents/icons.js +3 -0
- package/lib/engine/webcomponents/icons.js.map +1 -1
- package/lib/engine/webcomponents/logo-element.d.ts +7 -3
- package/lib/engine/webcomponents/logo-element.js +21 -1
- package/lib/engine/webcomponents/logo-element.js.map +1 -1
- package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js +2 -2
- package/lib/engine/webcomponents/needle menu/needle-menu-spatial.js.map +1 -1
- package/lib/engine/webcomponents/needle menu/needle-menu.d.ts +10 -7
- package/lib/engine/webcomponents/needle menu/needle-menu.js +14 -4
- package/lib/engine/webcomponents/needle menu/needle-menu.js.map +1 -1
- package/lib/engine/webcomponents/needle-button.d.ts +37 -11
- package/lib/engine/webcomponents/needle-button.js +42 -11
- package/lib/engine/webcomponents/needle-button.js.map +1 -1
- package/lib/engine/webcomponents/needle-engine.ar-overlay.js +10 -1
- package/lib/engine/webcomponents/needle-engine.ar-overlay.js.map +1 -1
- package/lib/engine/webcomponents/needle-engine.d.ts +13 -2
- package/lib/engine/webcomponents/needle-engine.js +23 -3
- package/lib/engine/webcomponents/needle-engine.js.map +1 -1
- package/lib/engine-components/Component.d.ts +1 -2
- package/lib/engine-components/Component.js +1 -3
- package/lib/engine-components/Component.js.map +1 -1
- package/lib/engine-components/DragControls.d.ts +1 -0
- package/lib/engine-components/DragControls.js +21 -0
- package/lib/engine-components/DragControls.js.map +1 -1
- package/lib/engine-components/NeedleMenu.d.ts +2 -0
- package/lib/engine-components/NeedleMenu.js +2 -0
- package/lib/engine-components/NeedleMenu.js.map +1 -1
- package/lib/engine-components/Networking.d.ts +28 -3
- package/lib/engine-components/Networking.js +28 -3
- package/lib/engine-components/Networking.js.map +1 -1
- package/lib/engine-components/ReflectionProbe.d.ts +25 -2
- package/lib/engine-components/ReflectionProbe.js +46 -2
- package/lib/engine-components/ReflectionProbe.js.map +1 -1
- package/lib/engine-components/Skybox.js +4 -2
- package/lib/engine-components/Skybox.js.map +1 -1
- package/lib/engine-components/export/gltf/GltfExport.js +1 -1
- package/lib/engine-components/export/gltf/GltfExport.js.map +1 -1
- package/lib/engine-components/export/usdz/ThreeUSDZExporter.js +2 -2
- package/lib/engine-components/export/usdz/USDZExporter.js +1 -1
- package/lib/engine-components/export/usdz/USDZExporter.js.map +1 -1
- package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.d.ts +15 -0
- package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.js +77 -0
- package/lib/engine-components/export/usdz/extensions/behavior/BehaviourComponents.js.map +1 -1
- package/lib/engine-components/export/usdz/extensions/behavior/PhysicsExtension.js +2 -2
- package/lib/engine-components/export/usdz/extensions/behavior/PhysicsExtension.js.map +1 -1
- package/lib/engine-components/postprocessing/Effects/Tonemapping.utils.d.ts +1 -1
- package/lib/engine-components/ui/Button.d.ts +1 -0
- package/lib/engine-components/ui/Button.js +11 -0
- package/lib/engine-components/ui/Button.js.map +1 -1
- package/lib/engine-components/ui/Text.d.ts +1 -0
- package/lib/engine-components/ui/Text.js +11 -0
- package/lib/engine-components/ui/Text.js.map +1 -1
- package/package.json +18 -14
- package/plugins/common/buildinfo.js +46 -10
- package/plugins/common/files.js +2 -1
- package/plugins/common/license.js +144 -69
- package/plugins/common/logger.js +172 -11
- package/plugins/common/needle-engine-skill.md +175 -0
- package/plugins/common/worker.js +5 -4
- package/plugins/types/userconfig.d.ts +40 -2
- package/plugins/vite/ai.js +71 -0
- package/plugins/vite/alias.js +6 -5
- package/plugins/vite/asap.js +6 -5
- package/plugins/vite/build-pipeline.js +224 -41
- package/plugins/vite/buildinfo.js +66 -6
- package/plugins/vite/copyfiles.js +41 -12
- package/plugins/vite/custom-element-data.js +26 -16
- package/plugins/vite/defines.js +8 -5
- package/plugins/vite/dependencies.js +16 -10
- package/plugins/vite/dependency-watcher.js +35 -7
- package/plugins/vite/drop-client.js +7 -5
- package/plugins/vite/drop.js +16 -14
- package/plugins/vite/editor-connection.js +18 -16
- package/plugins/vite/imports-logger.js +12 -2
- package/plugins/vite/index.js +8 -3
- package/plugins/vite/local-files-analysis.js +789 -0
- package/plugins/vite/local-files-core.js +992 -0
- package/plugins/vite/local-files-internals.js +28 -0
- package/plugins/vite/local-files-types.d.ts +111 -0
- package/plugins/vite/local-files-utils.js +359 -0
- package/plugins/vite/local-files.js +2 -441
- package/plugins/vite/logger.client.js +45 -35
- package/plugins/vite/logger.js +6 -3
- package/plugins/vite/logging.js +129 -0
- package/plugins/vite/meta.js +18 -4
- package/plugins/vite/needle-app.js +4 -3
- package/plugins/vite/peer.js +2 -1
- package/plugins/vite/pwa.js +33 -17
- package/plugins/vite/reload.js +24 -2
- package/src/engine/api.ts +0 -3
- package/src/engine/debug/debug.ts +1 -1
- package/src/engine/debug/debug_spatial_console.ts +5 -1
- package/src/engine/engine_accessibility.ts +198 -0
- package/src/engine/engine_context.ts +10 -1
- package/src/engine/engine_create_objects.ts +1 -1
- package/src/engine/engine_gizmos.ts +9 -5
- package/src/engine/engine_license.ts +7 -2
- package/src/engine/engine_materialpropertyblock.ts +102 -11
- package/src/engine/engine_math.ts +34 -1
- package/src/engine/engine_networking.ts +1 -1
- package/src/engine/engine_types.ts +5 -0
- package/src/engine/engine_utils.ts +2 -2
- package/src/engine/export/gltf/index.ts +1 -1
- package/src/engine/webcomponents/icons.ts +3 -0
- package/src/engine/webcomponents/logo-element.ts +24 -4
- package/src/engine/webcomponents/needle menu/needle-menu-spatial.ts +6 -2
- package/src/engine/webcomponents/needle menu/needle-menu.ts +23 -11
- package/src/engine/webcomponents/needle-button.ts +44 -13
- package/src/engine/webcomponents/needle-engine.ar-overlay.ts +13 -2
- package/src/engine/webcomponents/needle-engine.ts +31 -8
- package/src/engine-components/Component.ts +2 -5
- package/src/engine-components/DragControls.ts +29 -4
- package/src/engine-components/NeedleMenu.ts +5 -3
- package/src/engine-components/Networking.ts +29 -4
- package/src/engine-components/ReflectionProbe.ts +52 -9
- package/src/engine-components/Skybox.ts +4 -2
- package/src/engine-components/export/gltf/GltfExport.ts +1 -1
- package/src/engine-components/export/usdz/ThreeUSDZExporter.ts +2 -2
- package/src/engine-components/export/usdz/USDZExporter.ts +1 -1
- package/src/engine-components/export/usdz/extensions/behavior/BehaviourComponents.ts +108 -32
- package/src/engine-components/export/usdz/extensions/behavior/PhysicsExtension.ts +2 -2
- package/src/engine-components/ui/Button.ts +12 -0
- package/src/engine-components/ui/Text.ts +13 -0
- package/dist/materialx-CJyQZtjt.min.js +0 -90
- package/dist/materialx-DMs1E08Z.js +0 -4636
- package/dist/materialx-DaKKOoVk.umd.cjs +0 -90
- package/lib/engine/engine_test_utils.d.ts +0 -39
- package/lib/engine/engine_test_utils.js +0 -84
- package/lib/engine/engine_test_utils.js.map +0 -1
- package/lib/include/three/EXT_mesh_gpu_instancing_exporter.js.map +0 -1
- package/src/engine/engine_test_utils.ts +0 -109
- package/src/include/draco/draco_decoder.js +0 -34
- package/src/include/draco/draco_decoder.wasm +0 -0
- package/src/include/draco/draco_wasm_wrapper.js +0 -117
- package/src/include/ktx2/basis_transcoder.js +0 -19
- package/src/include/ktx2/basis_transcoder.wasm +0 -0
- package/src/include/needle/arial-msdf.json +0 -1472
- package/src/include/needle/arial.png +0 -0
- package/src/include/needle/poweredbyneedle.webp +0 -0
- /package/lib/{include/three → engine/export/gltf}/EXT_mesh_gpu_instancing_exporter.d.ts +0 -0
- /package/lib/{include/three → engine/export/gltf}/EXT_mesh_gpu_instancing_exporter.js +0 -0
- /package/src/{include/three → engine/export/gltf}/EXT_mesh_gpu_instancing_exporter.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"engine_test_utils.js","sourceRoot":"","sources":["../../src/engine/engine_test_utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EXT_mesh_gpu_instancing_exporter.js","sourceRoot":"","sources":["../../../src/include/three/EXT_mesh_gpu_instancing_exporter.js"],"names":[],"mappings":"AAAA;;;;GAIG;AAEF,OAAO,EACP,eAAe,EACf,OAAO,EACP,OAAO,EACP,UAAU,GACV,MAAM,OAAO,CAAC;AAEf,MAAM,CAAC,OAAO,OAAO,8BAA8B;IAElD,YAAa,MAAM;QAElB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IAEvC,CAAC;IAED,SAAS,CAAE,IAAI,EAAE,OAAO;QAEvB,IAAG,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,eAAe;YAAE,OAAO;QAErD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC;QAC7C,MAAM,YAAY,GAAG,EAAE,CAAC;QAExB,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC;QAC9C,OAAO,CAAC,UAAU,CAAE,IAAI,CAAC,IAAI,CAAE,GAAG,YAAY,CAAC;QAE/C,IAAI,GAAG,GAAG,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,IAAI,KAAK,EAAE,CAAC;QAEzB,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,EAClC;YACC,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YAEzB,IAAI,CAAC,GAAG,IAAI,OAAO,EAAE,CAAC;YACtB,IAAI,CAAC,GAAG,IAAI,UAAU,EAAE,CAAC;YACzB,IAAI,CAAC,GAAG,IAAI,OAAO,EAAE,CAAC;YAEtB,GAAG,CAAC,SAAS,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC;YAErB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3B,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACvB;QAAA,CAAC;QAEF,MAAM,GAAG,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,GAAG,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;QACnC,MAAM,GAAG,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;QAEnC,YAAY,CAAC,UAAU,GAAG;YACzB,aAAa,EAAG,MAAM,CAAC,eAAe,CAAE,IAAI,eAAe,CAAE,GAAG,EAAE,CAAC,CAAE,CAAE;YACvE,UAAU,EAAG,MAAM,CAAC,eAAe,CAAE,IAAI,eAAe,CAAE,GAAG,EAAE,CAAC,CAAE,CAAE;YACpE,OAAO,EAAG,MAAM,CAAC,eAAe,CAAE,IAAI,eAAe,CAAE,GAAG,EAAE,CAAC,CAAE,CAAE;SACjE,CAAC;QAEF,cAAc,CAAE,IAAI,CAAC,IAAI,CAAE,GAAG,IAAI,CAAC;IAEpC,CAAC;CACD"}
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
import { DataTextureLoader,EquirectangularReflectionMapping, Object3D, PerspectiveCamera, Scene, Vector3 } from "three";
|
|
2
|
-
import { OrbitControls } from "three/examples/jsm/controls/OrbitControls.js";
|
|
3
|
-
|
|
4
|
-
import { AssetReference } from "./engine_addressables.js";
|
|
5
|
-
import { getBoundingBox } from "./engine_three_utils.js";
|
|
6
|
-
|
|
7
|
-
declare type ComparisonSceneOptions = {
|
|
8
|
-
/**
|
|
9
|
-
* An array of model urls to load
|
|
10
|
-
*/
|
|
11
|
-
files: string[];
|
|
12
|
-
/**
|
|
13
|
-
* Optional dom element to attach the orbit controls to. By default this should be the WebGLRenderer.domElement
|
|
14
|
-
*/
|
|
15
|
-
domElement?: HTMLElement;
|
|
16
|
-
/**
|
|
17
|
-
* Can be a .hdr or .exr file url
|
|
18
|
-
*/
|
|
19
|
-
environment?: string;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* A collection of utility methods for quickly spinning up test environments
|
|
24
|
-
*/
|
|
25
|
-
export class TestSceneUtils {
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* Use this method to quickly setup a scene to compare multiple models.
|
|
29
|
-
* @example
|
|
30
|
-
* ```ts
|
|
31
|
-
* const files = [
|
|
32
|
-
* "https://threejs.org/examples/models/gltf/RobotExpressive/RobotExpressive.glb",
|
|
33
|
-
* "https://threejs.org/examples/models/gltf/Lantern/glTF-Binary/Lantern.glb",
|
|
34
|
-
* ];
|
|
35
|
-
* const { scene, camera } = await TestUtils.createComparisonScene({ files });
|
|
36
|
-
* // this could now be assigned to the Needle Engine Context
|
|
37
|
-
* context.scene = scene;
|
|
38
|
-
* context.mainCamera = camera;
|
|
39
|
-
* ```
|
|
40
|
-
*/
|
|
41
|
-
static async createComparisonScene(opts: ComparisonSceneOptions) {
|
|
42
|
-
|
|
43
|
-
const { files } = opts;
|
|
44
|
-
|
|
45
|
-
const promises = Promise.all(files.map(file => new AssetReference(file).loadAssetAsync()));
|
|
46
|
-
const results = await promises;
|
|
47
|
-
const scene = new Scene();
|
|
48
|
-
|
|
49
|
-
let offset = 0;
|
|
50
|
-
for (const result of results) {
|
|
51
|
-
if (result instanceof Object3D) {
|
|
52
|
-
result.position.y = offset;
|
|
53
|
-
scene.add(result);
|
|
54
|
-
const box = getBoundingBox([result]);
|
|
55
|
-
offset += box.getSize(new Vector3()).y;
|
|
56
|
-
offset += .1;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
const camera = new PerspectiveCamera(20);
|
|
60
|
-
scene.add(camera);
|
|
61
|
-
|
|
62
|
-
// Load an environment map
|
|
63
|
-
const environmentUrl = opts.environment || "https://dl.polyhaven.org/file/ph-assets/HDRIs/exr/1k/studio_small_09_1k.exr";
|
|
64
|
-
if (environmentUrl) {
|
|
65
|
-
let loader: DataTextureLoader | null = null;
|
|
66
|
-
if (environmentUrl.endsWith(".hdr")) {
|
|
67
|
-
const RGBELoader = (await import("three/examples/jsm/loaders/RGBELoader.js")).RGBELoader;
|
|
68
|
-
loader = new RGBELoader();
|
|
69
|
-
}
|
|
70
|
-
else if (environmentUrl.endsWith(".exr")) {
|
|
71
|
-
const EXRLoader = (await import("three/examples/jsm/loaders/EXRLoader.js")).EXRLoader;
|
|
72
|
-
loader = new EXRLoader();
|
|
73
|
-
}
|
|
74
|
-
if (loader) {
|
|
75
|
-
const envmap = await loader.loadAsync(environmentUrl).catch((e) => { console.error(e); return null; });
|
|
76
|
-
if (envmap) {
|
|
77
|
-
envmap.mapping = EquirectangularReflectionMapping;
|
|
78
|
-
envmap.needsUpdate = true;
|
|
79
|
-
scene.background = envmap;
|
|
80
|
-
scene.environment = envmap;
|
|
81
|
-
scene.backgroundBlurriness = .75;
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
else console.warn("Unsupported environment map format", environmentUrl);
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
const box = getBoundingBox(scene.children);
|
|
88
|
-
const center = box.getCenter(new Vector3());
|
|
89
|
-
const size = box.getSize(new Vector3());
|
|
90
|
-
const max = Math.max(size.x, size.y, size.z);
|
|
91
|
-
const distance = max / (2 * Math.tan(Math.PI * camera.fov / 360));
|
|
92
|
-
camera.position.set(center.x, center.y, distance);
|
|
93
|
-
camera.lookAt(center);
|
|
94
|
-
|
|
95
|
-
const orbit = new OrbitControls(camera, opts.domElement || document.body);
|
|
96
|
-
orbit.target = center;
|
|
97
|
-
orbit.update();
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
const element = (opts.domElement || document.body).getBoundingClientRect();
|
|
101
|
-
camera.aspect = element.width / element.height;
|
|
102
|
-
camera.updateProjectionMatrix();
|
|
103
|
-
|
|
104
|
-
return {
|
|
105
|
-
scene,
|
|
106
|
-
camera
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
}
|