babylonjs-editor 5.4.3-alpha.2 → 5.4.3-alpha.5
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/declaration/src/editor/layout/cinematic/serialization/parse.d.ts +1 -0
- package/declaration/src/editor/layout/graph.d.ts +20 -1
- package/declaration/src/editor/layout/inspector/scene/scene.d.ts +2 -0
- package/declaration/src/editor/layout/navmesh/editor.d.ts +2 -1
- package/declaration/src/editor/layout/navmesh/preview.d.ts +1 -1
- package/declaration/src/editor/layout/preview/import/import.d.ts +2 -1
- package/declaration/src/editor/layout/preview.d.ts +5 -1
- package/declaration/src/editor/layout.d.ts +1 -1
- package/declaration/src/editor/nodes/sound.d.ts +1 -0
- package/declaration/src/project/export/export.d.ts +1 -0
- package/declaration/src/project/export/scripts.d.ts +1 -1
- package/declaration/src/project/load/plugins/meshes.d.ts +2 -1
- package/declaration/src/project/save/scene.d.ts +1 -1
- package/declaration/src/tools/guards/nodes.d.ts +16 -1
- package/declaration/src/tools/mesh/augmentations.d.ts +10 -2
- package/declaration/src/tools/mesh/gaussian-splatting.d.ts +4 -0
- package/declaration/src/tools/tools.d.ts +5 -0
- package/declaration/src/tools/undoredo.d.ts +1 -0
- package/package.json +6 -4
|
@@ -7,6 +7,7 @@ export declare function parseCinematicTrack(track: ICinematicTrack, scene: Scene
|
|
|
7
7
|
sound: SoundNode | null;
|
|
8
8
|
propertyPath: string | undefined;
|
|
9
9
|
defaultRenderingPipeline: boolean | undefined;
|
|
10
|
+
volumetricLightScattering: boolean | undefined;
|
|
10
11
|
animationGroup: import("babylonjs").Nullable<import("babylonjs").AnimationGroup>;
|
|
11
12
|
animationGroups: import("babylonjs-editor-tools").ICinematicAnimationGroup[] | undefined;
|
|
12
13
|
animationGroupWeight: (ICinematicKey | ICinematicKeyCut)[];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Component, ReactNode } from "react";
|
|
2
2
|
import { TreeNodeInfo } from "@blueprintjs/core";
|
|
3
|
-
import { Node, IParticleSystem, Sprite } from "babylonjs";
|
|
3
|
+
import { Node, Scene, IParticleSystem, Sprite } from "babylonjs";
|
|
4
4
|
import { Editor } from "../main";
|
|
5
5
|
export interface IEditorGraphProps {
|
|
6
6
|
/**
|
|
@@ -33,13 +33,32 @@ export interface IEditorGraphState {
|
|
|
33
33
|
* Defines wether or not instanced meshes should be hidden from the graph.
|
|
34
34
|
*/
|
|
35
35
|
hideInstancedMeshes: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Defines wheter or not a spinner should be shown in the graph to indicate that the player scene is loading.
|
|
38
|
+
*/
|
|
39
|
+
isLoading: boolean;
|
|
40
|
+
/**
|
|
41
|
+
* Defines the reference to the play scene if the player is running, null otherwise.
|
|
42
|
+
*/
|
|
43
|
+
playScene: Scene | null;
|
|
44
|
+
/**
|
|
45
|
+
* Defines wether or not the graph should automatically refresh when the play scene is running. This is useful to see changes in the graph when the play scene is running.
|
|
46
|
+
* But in case of performance issues, this can be disabled to improve performance in-game.
|
|
47
|
+
*/
|
|
48
|
+
autoRefreshPlayScene: boolean;
|
|
36
49
|
}
|
|
37
50
|
export declare class EditorGraph extends Component<IEditorGraphProps, IEditorGraphState> {
|
|
38
51
|
_nodeToCopyTransform: Node | null;
|
|
39
52
|
_objectsToCopy: TreeNodeInfo<unknown>[];
|
|
53
|
+
private _playRefreshIntervalId;
|
|
40
54
|
constructor(props: IEditorGraphProps);
|
|
41
55
|
render(): ReactNode;
|
|
42
56
|
componentDidMount(): void;
|
|
57
|
+
private _lastGizmoNode;
|
|
58
|
+
private _lastInspectorNode;
|
|
59
|
+
private _lastAnimationsNode;
|
|
60
|
+
private _lastSelectedNodes;
|
|
61
|
+
setPlayScene(playScene: Scene | null): Promise<void>;
|
|
43
62
|
/**
|
|
44
63
|
* Refreshes the graph.
|
|
45
64
|
*/
|
|
@@ -15,6 +15,8 @@ export declare class EditorSceneInspector extends Component<IEditorInspectorImpl
|
|
|
15
15
|
static IsSupported(object: unknown): boolean;
|
|
16
16
|
constructor(props: IEditorInspectorImplementationProps<Scene>);
|
|
17
17
|
render(): ReactNode;
|
|
18
|
+
get scene(): Scene;
|
|
19
|
+
get isPlaying(): boolean;
|
|
18
20
|
private _getPhysicsComponent;
|
|
19
21
|
private _getDefaultRenderingPipelineComponent;
|
|
20
22
|
private _getTAARenderingPipelineComponent;
|
|
@@ -7,13 +7,14 @@ export interface INavmeshEditorProps {
|
|
|
7
7
|
editor: Editor;
|
|
8
8
|
configuration: INavMeshConfiguration;
|
|
9
9
|
absolutePath: string;
|
|
10
|
+
onClose: () => void;
|
|
10
11
|
}
|
|
11
12
|
export interface INavmeshEditorState {
|
|
12
13
|
initializing: boolean;
|
|
13
14
|
}
|
|
14
15
|
export declare class NavMeshEditor extends Component<INavmeshEditorProps, INavmeshEditorState> {
|
|
15
16
|
configuration: INavMeshConfiguration;
|
|
16
|
-
plugin: RecastNavigationJSPluginV2;
|
|
17
|
+
plugin: RecastNavigationJSPluginV2 | null;
|
|
17
18
|
result: CreateNavMeshResult | null;
|
|
18
19
|
private _debugNavMesh;
|
|
19
20
|
private _debugObstacles;
|
|
@@ -2,6 +2,6 @@ import { RecastNavigationJSPluginV2 } from "babylonjs-addons";
|
|
|
2
2
|
import { Mesh } from "babylonjs";
|
|
3
3
|
export interface INavMeshEditorPreviewProps {
|
|
4
4
|
mesh: Mesh | null;
|
|
5
|
-
plugin: RecastNavigationJSPluginV2;
|
|
5
|
+
plugin: RecastNavigationJSPluginV2 | null;
|
|
6
6
|
}
|
|
7
7
|
export declare function NavMeshEditorPreview(props: INavMeshEditorPreviewProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { CubeTexture, ISceneLoaderAsyncResult, Material, Node, Scene, Texture, ColorGradingTexture, Sprite, IParticleSystem, HDRCubeTexture } from "babylonjs";
|
|
2
|
+
import { Editor } from "../../../main";
|
|
2
3
|
export declare function tryConvertSceneFile(absolutePath: string, progress?: (percent: number) => void): Promise<string>;
|
|
3
|
-
export declare function loadImportedSceneFile(scene: Scene, absolutePath: string): Promise<ISceneLoaderAsyncResult | null>;
|
|
4
|
+
export declare function loadImportedSceneFile(scene: Scene, absolutePath: string, editor: Editor): Promise<ISceneLoaderAsyncResult | null>;
|
|
4
5
|
export declare function configureImportedNodeIds(node: Node | Sprite | IParticleSystem): void;
|
|
5
6
|
export declare function configureImportedMaterial(material: Material): void;
|
|
6
7
|
export declare function configureImportedTexture<T extends Texture | CubeTexture | ColorGradingTexture | HDRCubeTexture>(texture: T, noCheckInvertY?: boolean): T;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Component, ReactNode } from "react";
|
|
2
|
-
import { AbstractEngine, AbstractMesh, Camera, ISceneLoaderAsyncResult, Scene, PickingInfo, SelectionOutlineLayer, ClusteredLightContainer } from "babylonjs";
|
|
2
|
+
import { AbstractEngine, AbstractMesh, Camera, ISceneLoaderAsyncResult, Scene, PickingInfo, SelectionOutlineLayer, ClusteredLightContainer, GaussianSplattingCompoundMesh } from "babylonjs";
|
|
3
3
|
import { Editor } from "../main";
|
|
4
4
|
import { IGizmoSnapPreferences } from "../../tools/scene/gizmo";
|
|
5
5
|
import { EditorCamera } from "../nodes/camera";
|
|
@@ -85,6 +85,10 @@ export declare class EditorPreview extends Component<IEditorPreviewProps, IEdito
|
|
|
85
85
|
* Defines the reference to the clustered lighting container.
|
|
86
86
|
*/
|
|
87
87
|
clusteredLightContainer: ClusteredLightContainer;
|
|
88
|
+
/**
|
|
89
|
+
* Defines the reference to the gaussian splatting compound mesh used to support z ordering of gaussian splatting meshes in the scene.
|
|
90
|
+
*/
|
|
91
|
+
gaussianSplattingCompoundMesh: GaussianSplattingCompoundMesh | null;
|
|
88
92
|
private _renderScene;
|
|
89
93
|
private _mouseDownPosition;
|
|
90
94
|
private _lastPickedDecal;
|
|
@@ -84,7 +84,7 @@ export declare class EditorLayout extends Component<IEditorLayoutProps> {
|
|
|
84
84
|
* @param component defines the reference to the React component to draw in.
|
|
85
85
|
* @param options defines the options of the tab such as the title etc.
|
|
86
86
|
*/
|
|
87
|
-
addLayoutTab(component: ReactNode, options: IEditorLayoutTabOptions):
|
|
87
|
+
addLayoutTab(component: ReactNode, options: IEditorLayoutTabOptions): string;
|
|
88
88
|
/**
|
|
89
89
|
* Removes the tab identified by the given id from the layout. The react component mounted in the tab will be unmounted
|
|
90
90
|
* before the tab is removed completely to ensure proper resource cleanup.
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { Editor } from "../../editor/main";
|
|
2
|
-
export declare function handleExportScripts(editor: Editor): Promise<void>;
|
|
2
|
+
export declare function handleExportScripts(editor: Editor, debugMode: boolean): Promise<void>;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
import { Scene } from "babylonjs";
|
|
2
2
|
import { ISceneLoaderPluginOptions } from "../scene";
|
|
3
|
-
|
|
3
|
+
import { Editor } from "../../../editor/main";
|
|
4
|
+
export declare function loadMeshes(editor: Editor, meshesFiles: string[], scene: Scene, options: ISceneLoaderPluginOptions): Promise<void>;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { Editor } from "../../editor/main";
|
|
2
|
-
export declare function ensureSceneFolders(scenePath: string): Promise<[void, void, void, void, void, void, void, void, void, void, void, void, void, void, void, void, void, void]>;
|
|
2
|
+
export declare function ensureSceneFolders(scenePath: string): Promise<[void, void, void, void, void, void, void, void, void, void, void, void, void, void, void, void, void, void, void]>;
|
|
3
3
|
export declare function saveScene(editor: Editor, projectPath: string, scenePath: string): Promise<void>;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Bone, Camera, GroundMesh, Light, Mesh, Node, PointLight, TransformNode, DirectionalLight, InstancedMesh, FreeCamera, ArcRotateCamera, SpotLight, HemisphericLight, Skeleton, ClusteredLightContainer } from "babylonjs";
|
|
1
|
+
import { Bone, Camera, GroundMesh, Light, Mesh, Node, PointLight, TransformNode, DirectionalLight, InstancedMesh, FreeCamera, ArcRotateCamera, SpotLight, HemisphericLight, Skeleton, ClusteredLightContainer, GaussianSplattingMesh, GaussianSplattingPartProxyMesh } from "babylonjs";
|
|
2
2
|
import { EditorCamera } from "../../editor/nodes/camera";
|
|
3
3
|
import { CollisionMesh } from "../../editor/nodes/collision";
|
|
4
4
|
/**
|
|
@@ -106,3 +106,18 @@ export declare function isClusteredLightContainer(object: any): object is Cluste
|
|
|
106
106
|
* @param object defines the reference to the object to test its class name.
|
|
107
107
|
*/
|
|
108
108
|
export declare function isNode(object: any): object is Node;
|
|
109
|
+
/**
|
|
110
|
+
* Returns wether or not the given object is a GaussianSplattingMesh.
|
|
111
|
+
* @param object defines the reference to the object to test its class name.
|
|
112
|
+
*/
|
|
113
|
+
export declare function isGaussianSplattingMesh(object: any): object is GaussianSplattingMesh;
|
|
114
|
+
/**
|
|
115
|
+
* Returns wether or not the given object is a GaussianSplattingPartProxyMesh.
|
|
116
|
+
* @param object defines the reference to the object to test its class name.
|
|
117
|
+
*/
|
|
118
|
+
export declare function isGaussianSplattingPartProxyMesh(object: any): object is GaussianSplattingPartProxyMesh;
|
|
119
|
+
/**
|
|
120
|
+
* Returns wether or not the given object is a GaussianSplattingMesh or a GaussianSplattingPartProxyMesh.
|
|
121
|
+
* @param object defines the reference to the object to test its class name.
|
|
122
|
+
*/
|
|
123
|
+
export declare function isAnyGaussianSplattingMesh(object: any): object is GaussianSplattingMesh | GaussianSplattingPartProxyMesh;
|
|
@@ -1,8 +1,16 @@
|
|
|
1
|
-
import { PhysicsAggregate } from "babylonjs";
|
|
2
|
-
|
|
1
|
+
import { GaussianSplattingMesh, PhysicsAggregate } from "babylonjs";
|
|
2
|
+
import { GaussianSplattingPartProxyMesh as _GaussianSplattingPartProxyMesh } from "babylonjs/Meshes/GaussianSplatting/gaussianSplattingPartProxyMesh";
|
|
3
3
|
declare module "babylonjs" {
|
|
4
4
|
interface AbstractMesh {
|
|
5
5
|
_waitingLod?: any;
|
|
6
6
|
physicsAggregate?: PhysicsAggregate | null;
|
|
7
7
|
}
|
|
8
|
+
interface GaussianSplattingPartProxyMesh extends _GaussianSplattingPartProxyMesh {
|
|
9
|
+
baseGaussianSplattingMesh?: GaussianSplattingMesh;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
declare module "babylonjs/Meshes/GaussianSplatting/gaussianSplattingPartProxyMesh" {
|
|
13
|
+
interface GaussianSplattingPartProxyMesh {
|
|
14
|
+
baseGaussianSplattingMesh?: GaussianSplattingMesh;
|
|
15
|
+
}
|
|
8
16
|
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { GaussianSplattingMesh, GaussianSplattingPartProxyMesh } from "babylonjs";
|
|
2
|
+
import { Editor } from "../../editor/main";
|
|
3
|
+
export declare function configureGaussianSplattingMeshFromData(gaussianSplattingMesh: GaussianSplattingPartProxyMesh, data: any): void;
|
|
4
|
+
export declare function addGaussianSplattingMeshPartProxyMesh(mesh: GaussianSplattingMesh, editor: Editor): import("babylonjs/Meshes/GaussianSplatting/gaussianSplattingPartProxyMesh.pure").GaussianSplattingPartProxyMesh | undefined;
|
|
@@ -59,3 +59,8 @@ export declare function readBlobAsDataUrl(blob: Blob): Promise<string>;
|
|
|
59
59
|
* @param source defines the reference to the JavaScript object to clone.
|
|
60
60
|
*/
|
|
61
61
|
export declare function cloneJSObject<T>(source: T): T;
|
|
62
|
+
/**
|
|
63
|
+
* Returns whether or not the given string is a valid URL.
|
|
64
|
+
* @param url defines the string to check if it is a valid URL.
|
|
65
|
+
*/
|
|
66
|
+
export declare function isValidUrl(url: string): boolean;
|
|
@@ -17,6 +17,7 @@ export type UndoRedoStackItem = {
|
|
|
17
17
|
export declare const stack: UndoRedoStackItem[];
|
|
18
18
|
export declare const onUndoObservable: Observable<void>;
|
|
19
19
|
export declare const onRedoObservable: Observable<void>;
|
|
20
|
+
export declare function setUndoRedoEnabled(value: boolean): void;
|
|
20
21
|
export declare function clearUndoRedo(): void;
|
|
21
22
|
export declare function registerUndoRedo(configuration: UndoRedoStackItem): void;
|
|
22
23
|
export declare function registerSimpleUndoRedo(configuration: SimpleUndoRedoStackItem): void;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "babylonjs-editor",
|
|
3
|
-
"version": "5.4.3-alpha.
|
|
3
|
+
"version": "5.4.3-alpha.5",
|
|
4
4
|
"description": "Babylon.js Editor is a Web Application helping artists to work with Babylon.js",
|
|
5
5
|
"productName": "Babylon.js Editor",
|
|
6
6
|
"main": "build/src/index.js",
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
"@types/react-dom": "18.2.18",
|
|
32
32
|
"@vitest/coverage-v8": "4.0.17",
|
|
33
33
|
"concurrently": "9.2.0",
|
|
34
|
-
"electron": "
|
|
34
|
+
"electron": "42.8.0",
|
|
35
35
|
"electron-builder": "26.0.12",
|
|
36
36
|
"electron-reloader": "1.2.3",
|
|
37
37
|
"postcss-import": "16.1.0",
|
|
@@ -40,6 +40,7 @@
|
|
|
40
40
|
"vitest": "4.1.0"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
+
"@adobe/spz": "0.2.2",
|
|
43
44
|
"@babylonjs/addons": "9.12.1",
|
|
44
45
|
"@babylonjs/core": "9.12.1",
|
|
45
46
|
"@babylonjs/havok": "1.3.12",
|
|
@@ -76,7 +77,7 @@
|
|
|
76
77
|
"@xterm/addon-webgl": "0.20.0-beta.286",
|
|
77
78
|
"@xterm/xterm": "6.1.0-beta.22",
|
|
78
79
|
"assimpjs": "0.0.10",
|
|
79
|
-
"axios": "1.
|
|
80
|
+
"axios": "1.18.0",
|
|
80
81
|
"babylonjs": "9.12.1",
|
|
81
82
|
"babylonjs-addons": "9.12.1",
|
|
82
83
|
"babylonjs-editor-cli": "latest",
|
|
@@ -100,6 +101,7 @@
|
|
|
100
101
|
"dunder-proto": "1.0.1",
|
|
101
102
|
"electron-updater": "6.6.2",
|
|
102
103
|
"esbuild": "0.28.1",
|
|
104
|
+
"fflate": "0.8.3",
|
|
103
105
|
"filenamify": "4.3.0",
|
|
104
106
|
"flexlayout-react": "0.7.15",
|
|
105
107
|
"fluent-ffmpeg": "^2.1.3",
|
|
@@ -111,7 +113,7 @@
|
|
|
111
113
|
"md5": "2.3.0",
|
|
112
114
|
"motion": "12.23.24",
|
|
113
115
|
"next-themes": "^0.3.0",
|
|
114
|
-
"node-pty": "1.2.0-beta.
|
|
116
|
+
"node-pty": "1.2.0-beta.15",
|
|
115
117
|
"node-stream-zip": "1.15.0",
|
|
116
118
|
"pngjs": "7.0.0",
|
|
117
119
|
"react": "18.2.0",
|