@needle-tools/engine 3.5.5-alpha → 3.5.6-alpha
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 +10 -0
- package/dist/needle-engine.js +4435 -4429
- package/dist/needle-engine.light.js +82299 -0
- package/dist/needle-engine.light.min.js +5055 -0
- package/dist/needle-engine.light.umd.cjs +5055 -0
- package/dist/needle-engine.min.js +290 -290
- package/dist/needle-engine.umd.cjs +281 -281
- package/lib/engine/engine_components.d.ts +2 -2
- package/lib/engine/engine_components.js +7 -2
- package/lib/engine/engine_components.js.map +1 -1
- package/lib/engine-components/Component.d.ts +3 -0
- package/lib/engine-components/Component.js.map +1 -1
- package/lib/engine-components/export/usdz/USDZExporter.js +0 -1
- package/lib/engine-components/export/usdz/USDZExporter.js.map +1 -1
- package/lib/engine-components/js-extensions/Object3D.js +4 -1
- package/lib/engine-components/js-extensions/Object3D.js.map +1 -1
- package/lib/engine-components/ui/Button.js +10 -0
- package/lib/engine-components/ui/Button.js.map +1 -1
- package/lib/engine-components/ui/Canvas.js +2 -1
- package/lib/engine-components/ui/Canvas.js.map +1 -1
- package/lib/engine-components/ui/CanvasGroup.js +1 -3
- package/lib/engine-components/ui/CanvasGroup.js.map +1 -1
- package/lib/engine-components/ui/Graphic.d.ts +2 -0
- package/lib/engine-components/ui/Graphic.js +16 -5
- package/lib/engine-components/ui/Graphic.js.map +1 -1
- package/lib/engine-components/ui/Interfaces.d.ts +4 -1
- package/lib/engine-components/ui/Interfaces.js.map +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -2
- package/plugins/vite/defines.js +8 -2
- package/src/engine/engine_components.ts +7 -2
- package/src/engine-components/Component.ts +3 -1
- package/src/engine-components/ParticleSystemModules.ts +1483 -1483
- package/src/engine-components/export/usdz/USDZExporter.ts +0 -1
- package/src/engine-components/js-extensions/Object3D.ts +5 -1
- package/src/engine-components/ui/Button.ts +5 -0
- package/src/engine-components/ui/Canvas.ts +2 -1
- package/src/engine-components/ui/CanvasGroup.ts +2 -4
- package/src/engine-components/ui/Graphic.ts +24 -15
- package/src/engine-components/ui/Interfaces.ts +5 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@needle-tools/engine",
|
|
3
|
-
"version": "3.5.
|
|
3
|
+
"version": "3.5.6-alpha",
|
|
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.umd.cjs",
|
|
6
6
|
"type": "module",
|
|
@@ -20,8 +20,9 @@
|
|
|
20
20
|
"scripts": {
|
|
21
21
|
"dev": "npm-watch",
|
|
22
22
|
"font:generate": "node plugins/generate-font.js",
|
|
23
|
-
"build": "npm run build:dist && npm run build:src",
|
|
23
|
+
"build": "npm run build:dist && npm run build:dist:light && npm run build:src",
|
|
24
24
|
"build:dist": "vite build",
|
|
25
|
+
"build:dist:light": "vite build -- --light --noclear",
|
|
25
26
|
"build:src": "tsc --outDir ./lib --noEmit false --declaration",
|
|
26
27
|
"build:license": "node plugins/publish/create-license.mjs",
|
|
27
28
|
"test:circular-imports": "node plugins/check-circular-imports.js",
|
package/plugins/vite/defines.js
CHANGED
|
@@ -1,20 +1,26 @@
|
|
|
1
1
|
import { loadConfig } from "./config.js";
|
|
2
2
|
import { tryGetNeedleEngineVersion } from "./utils.js";
|
|
3
3
|
|
|
4
|
+
// NOTE: ALL DEFINES MUST BE SET HERE! NEVER ADD OR RELY ON DEFINES IN ANY OTHER PLUGIN
|
|
5
|
+
|
|
4
6
|
/** used to pass config variables into vite.config.define
|
|
5
7
|
* for example "useRapier"
|
|
6
8
|
*/
|
|
9
|
+
|
|
10
|
+
// https://vitejs.dev/config/#using-environment-variables-in-config
|
|
11
|
+
|
|
7
12
|
export const needleDefines = (command, needleEngineConfig, userSettings) => {
|
|
8
13
|
|
|
9
14
|
if (!userSettings) userSettings = {};
|
|
10
15
|
|
|
11
16
|
let useRapier = true;
|
|
12
|
-
if (needleEngineConfig
|
|
17
|
+
if (needleEngineConfig?.useRapier === false || userSettings?.useRapier === false) useRapier = false;
|
|
13
18
|
|
|
14
19
|
return {
|
|
15
20
|
name: 'needle-defines',
|
|
16
21
|
enforce: 'pre',
|
|
17
22
|
config(viteConfig) {
|
|
23
|
+
// console.log("Update vite defines -------------------------------------------");
|
|
18
24
|
if (!viteConfig.define) viteConfig.define = {};
|
|
19
25
|
viteConfig.define.NEEDLE_ENGINE_META = {
|
|
20
26
|
version: tryGetNeedleEngineVersion(),
|
|
@@ -27,7 +33,7 @@ export const needleDefines = (command, needleEngineConfig, userSettings) => {
|
|
|
27
33
|
useRapier = false;
|
|
28
34
|
}
|
|
29
35
|
}
|
|
30
|
-
console.log("UseRapier?", useRapier);
|
|
36
|
+
// console.log("UseRapier?", useRapier);
|
|
31
37
|
if (viteConfig.define.NEEDLE_USE_RAPIER === undefined) {
|
|
32
38
|
viteConfig.define.NEEDLE_USE_RAPIER = useRapier;
|
|
33
39
|
}
|
|
@@ -75,20 +75,25 @@ export function addNewComponent<T extends IComponent>(obj: Object3D, componentIn
|
|
|
75
75
|
}
|
|
76
76
|
|
|
77
77
|
export function moveComponentInstance(obj: Object3D, componentInstance: IComponent) {
|
|
78
|
-
if (componentInstance.gameObject === obj) return;
|
|
78
|
+
if (componentInstance.gameObject === obj) return componentInstance;
|
|
79
79
|
// TODO: update raycast array
|
|
80
80
|
if (componentInstance.gameObject && componentInstance.gameObject.userData.components) {
|
|
81
81
|
const index = componentInstance.gameObject.userData.components.indexOf(componentInstance);
|
|
82
82
|
componentInstance.gameObject.userData.components.splice(index, 1);
|
|
83
83
|
}
|
|
84
84
|
if (!obj.userData.components) obj.userData.components = [];
|
|
85
|
-
else if (obj.userData.components.includes(componentInstance)) return;
|
|
85
|
+
else if (obj.userData.components.includes(componentInstance)) return componentInstance;
|
|
86
86
|
// TODO: do we want to disable and enable when moving?
|
|
87
87
|
// componentInstance.__internalDisable();
|
|
88
88
|
obj.userData.components.push(componentInstance);
|
|
89
89
|
componentInstance.gameObject = obj as IGameObject;
|
|
90
90
|
// componentInstance.__internalEnable();
|
|
91
91
|
// componentInstance.transform = obj;
|
|
92
|
+
if (componentInstance.guid === undefined || componentInstance.guid === "invalid") {
|
|
93
|
+
componentInstance.guid = idProvider.generateUUID();
|
|
94
|
+
}
|
|
95
|
+
registerComponent(componentInstance);
|
|
96
|
+
return componentInstance;
|
|
92
97
|
}
|
|
93
98
|
|
|
94
99
|
|
|
@@ -273,8 +273,10 @@ export abstract class GameObject extends Object3D implements Object3D, IGameObje
|
|
|
273
273
|
|
|
274
274
|
// these are implemented via threejs object extensions
|
|
275
275
|
abstract activeSelf: boolean;
|
|
276
|
+
/** creates a new component on this gameObject */
|
|
276
277
|
abstract addNewComponent<T>(type: Constructor<T>): T | null;
|
|
277
|
-
|
|
278
|
+
/** adds an existing component to this gameObject */
|
|
279
|
+
abstract addComponent(comp: IComponent): void;
|
|
278
280
|
abstract removeComponent(comp: Component): Component;
|
|
279
281
|
abstract getOrAddComponent<T>(typeName: Constructor<T> | null): T;
|
|
280
282
|
abstract getComponent<T>(type: Constructor<T>): T | null;
|