babylonjs-editor 5.4.1-rc.5 → 5.4.2-alpha.0

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.
@@ -13,6 +13,8 @@ export interface IEditorGenerateProjectComponentState {
13
13
  export interface IEditorGenerateOptions {
14
14
  optimize: boolean;
15
15
  uploadToS3: boolean;
16
+ mergeDecals: boolean;
17
+ mergeGeometries: boolean;
16
18
  }
17
19
  export declare class EditorGenerateProjectComponent extends Component<IEditorGenerateProjectComponentProps, IEditorGenerateProjectComponentState> {
18
20
  private _options;
@@ -1,6 +1,7 @@
1
1
  import { ReactNode } from "react";
2
2
  import { AssetsBrowserItem } from "./item";
3
3
  export declare class AssetBrowserSceneItem extends AssetsBrowserItem {
4
+ private _doNotExport;
4
5
  private _previewPath;
5
6
  /**
6
7
  * @override
@@ -12,5 +13,6 @@ export declare class AssetBrowserSceneItem extends AssetsBrowserItem {
12
13
  protected getIcon(): ReactNode;
13
14
  componentDidMount(): Promise<void>;
14
15
  private _handleDuplicate;
16
+ private _handleDoNotExport;
15
17
  private _handleEdit;
16
18
  }
@@ -0,0 +1,4 @@
1
+ import { Component, ReactNode } from "react";
2
+ export declare class EditorAssetsBrowserRenameProgressComponent extends Component {
3
+ render(): ReactNode;
4
+ }
@@ -1,19 +1,21 @@
1
1
  import { Component, ReactNode } from "react";
2
- import { Node, Vector2 } from "babylonjs";
2
+ import { Node, Vector3 } from "babylonjs";
3
3
  import { Editor } from "../../main";
4
+ interface _IButtonData {
5
+ node: Node;
6
+ absolutePosition: Vector3;
7
+ }
4
8
  export interface IEditorPreviewIconsProps {
5
9
  editor: Editor;
6
10
  }
7
11
  export interface IEditorPreviewIconsState {
8
12
  buttons: _IButtonData[];
9
13
  }
10
- interface _IButtonData {
11
- node: Node;
12
- position: Vector2;
13
- }
14
14
  export declare class EditorPreviewIcons extends Component<IEditorPreviewIconsProps, IEditorPreviewIconsState> {
15
15
  private _tempMesh;
16
16
  private _renderFunction;
17
+ private _iconsRefs;
18
+ private _cameraViewMatrixObserver;
17
19
  constructor(props: IEditorPreviewIconsProps);
18
20
  render(): ReactNode;
19
21
  componentWillUnmount(): void;
@@ -25,6 +27,8 @@ export declare class EditorPreviewIcons extends Component<IEditorPreviewIconsPro
25
27
  * Starts rendering icons on the preview scene.
26
28
  */
27
29
  start(): void;
30
+ private _configureDivStyle;
31
+ private _onNodeClicked;
28
32
  private _isInFrustrum;
29
33
  /**
30
34
  * Stops rendering icons on the preview scene.
@@ -1,5 +1,5 @@
1
1
  import { Component, ReactNode } from "react";
2
- import { AbstractEngine, Camera, ISceneLoaderAsyncResult, Scene, PickingInfo, SelectionOutlineLayer, ClusteredLightContainer } from "babylonjs";
2
+ import { AbstractEngine, AbstractMesh, Camera, ISceneLoaderAsyncResult, Scene, PickingInfo, SelectionOutlineLayer, ClusteredLightContainer } from "babylonjs";
3
3
  import { Editor } from "../main";
4
4
  import { IGizmoSnapPreferences } from "../../tools/scene/gizmo";
5
5
  import { EditorCamera } from "../nodes/camera";
@@ -100,6 +100,7 @@ export declare class EditorPreview extends Component<IEditorPreviewProps, IEdito
100
100
  * @param render defines whether or not to render the scene.
101
101
  */
102
102
  setRenderScene(render: boolean): void;
103
+ get renderScene(): boolean;
103
104
  /**
104
105
  * Resizes the engine.
105
106
  */
@@ -135,8 +136,8 @@ export declare class EditorPreview extends Component<IEditorPreviewProps, IEdito
135
136
  private _handleMouseDown;
136
137
  private _handleDoubleClick;
137
138
  private _handleMouseUp;
138
- private _decalMeshPredicate;
139
- private _meshPredicate;
139
+ _pickingDecalMeshPredicate(m: AbstractMesh): boolean;
140
+ _pickingMeshPredicate(m: AbstractMesh): boolean;
140
141
  private _getPickingInfo;
141
142
  private _resetPointerContextInfo;
142
143
  private _highlightCurrentMeshUnderPointer;
@@ -1,5 +1,5 @@
1
1
  import { Component, ReactNode } from "react";
2
- import { EditorProjectPackageManager } from "../project/typings";
2
+ import { EditorProjectCompressedTextureQuality, EditorProjectPackageManager } from "../project/typings";
3
3
  import { CommandPalette } from "./dialogs/command-palette/command-palette";
4
4
  import { EditorLayout } from "./layout";
5
5
  import "./nodes/camera";
@@ -40,6 +40,18 @@ export interface IEditorState {
40
40
  * Defines wether or not compressed textures are enabled in the preview.
41
41
  */
42
42
  compressedTexturesEnabledInPreview: boolean;
43
+ /**
44
+ * Defines wether or not ETC2 compressed textures are enabled.
45
+ */
46
+ compressedEtc2Enabled: boolean;
47
+ /**
48
+ * Defines wether or not PVRTC compressed textures are enabled.
49
+ */
50
+ compressedPvrtcEnabled: boolean;
51
+ /**
52
+ * Defines the quality of the compressed textures.
53
+ */
54
+ compressedTextureQuality?: EditorProjectCompressedTextureQuality;
43
55
  /**
44
56
  * Defines wether or not experimental features are enabled.
45
57
  */
@@ -0,0 +1,7 @@
1
+ import { Editor } from "../../editor/main";
2
+ export interface ISavedMergedDecalsOptions {
3
+ scenePath: string;
4
+ savedFiles: string[];
5
+ relativeScenePath: string;
6
+ }
7
+ export declare function saveMergedDecals(editor: Editor, options: ISavedMergedDecalsOptions): Promise<void>;
@@ -1,2 +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
3
  export declare function saveScene(editor: Editor, projectPath: string, scenePath: string): Promise<void>;
@@ -20,6 +20,18 @@ export interface IEditorProject {
20
20
  * If the compressed textures are enabled in the preview.
21
21
  */
22
22
  compressedTexturesEnabledInPreview: boolean;
23
+ /**
24
+ * If the ETC2 compressed textures are enabled using PVRTexTool.
25
+ */
26
+ compressedEtc2Enabled?: boolean;
27
+ /**
28
+ * If the PVRTC compressed textures are enabled using PVRTexTool.
29
+ */
30
+ compressedPvrtcEnabled?: boolean;
31
+ /**
32
+ * The quality of the compressed textures.
33
+ */
34
+ compressedTextureQuality?: EditorProjectCompressedTextureQuality;
23
35
  /**
24
36
  * The package manager being used by the project.
25
37
  */
@@ -35,5 +47,6 @@ export interface IEditorProjectPlugin {
35
47
  */
36
48
  nameOrPath: string;
37
49
  }
50
+ export type EditorProjectCompressedTextureQuality = "very-fast" | "fast" | "normal" | "high";
38
51
  export type EditorProjectPackageManager = "npm" | "yarn" | "pnpm" | "bun";
39
52
  export type EditorProjectTemplate = "nextjs" | "nuxtjs" | "solidjs" | "vanillajs" | "electron";
@@ -9,3 +9,8 @@ export interface IOldNodeHierarchyConfiguration {
9
9
  export declare function getNodeParentingConfiguration(node: Node): IOldNodeHierarchyConfiguration;
10
10
  export declare function applyNodeParentingConfiguration(node: Node, config: IOldNodeHierarchyConfiguration): void;
11
11
  export declare function applyTransformNodeParentingConfiguration(node: Node, newParent: Node | null, tempTransfromNode: TransformNode): void;
12
+ /**
13
+ * Returns wether or not the given node is a descendant of a transform node set as static group.
14
+ * @param node defines the reference to the node to check the ancestors.
15
+ */
16
+ export declare function isNodeFromStaticGroup(node: Node): boolean;
@@ -34,6 +34,12 @@ export declare function unique<T>(array: T[]): T[];
34
34
  * @param property in case of an array of objects, this property will be used to get the right value to sort.
35
35
  */
36
36
  export declare function sortAlphabetically(array: any[], property?: string): any[];
37
+ /**
38
+ * Splits the given array into chunks of a specified size.
39
+ * @param array The array to split into chunks.
40
+ * @param chunkSize The size of each chunk.
41
+ */
42
+ export declare function splitArrayIntoChunks<T>(array: T[], chunkSize: number): T[][];
37
43
  /**
38
44
  * Returns the current call stack as a string.
39
45
  * This is mainly used to check if the current call is from outside of the editor.
@@ -1,2 +0,0 @@
1
- declare const md5: any;
2
- declare const readFile: any;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "babylonjs-editor",
3
- "version": "5.4.1-rc.5",
3
+ "version": "5.4.2-alpha.0",
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",
@@ -40,8 +40,8 @@
40
40
  "vitest": "4.0.17"
41
41
  },
42
42
  "dependencies": {
43
- "@babylonjs/addons": "9.4.1",
44
- "@babylonjs/core": "9.4.1",
43
+ "@babylonjs/addons": "9.9.1",
44
+ "@babylonjs/core": "9.9.1",
45
45
  "@babylonjs/havok": "1.3.12",
46
46
  "@blueprintjs/core": "^5.10.0",
47
47
  "@blueprintjs/select": "^5.1.2",
@@ -74,19 +74,19 @@
74
74
  "@xterm/addon-fit": "0.11.0",
75
75
  "@xterm/xterm": "6.1.0-beta.22",
76
76
  "assimpjs": "0.0.10",
77
- "axios": "1.15.2",
78
- "babylonjs": "9.4.1",
79
- "babylonjs-addons": "9.4.1",
77
+ "axios": "1.16.1",
78
+ "babylonjs": "9.9.1",
79
+ "babylonjs-addons": "9.9.1",
80
80
  "babylonjs-editor-cli": "latest",
81
81
  "babylonjs-editor-tools": "latest",
82
- "babylonjs-gui": "9.4.1",
83
- "babylonjs-gui-editor": "9.4.1",
84
- "babylonjs-loaders": "9.4.1",
85
- "babylonjs-materials": "9.4.1",
86
- "babylonjs-node-editor": "9.4.1",
87
- "babylonjs-node-particle-editor": "9.4.1",
88
- "babylonjs-post-process": "9.4.1",
89
- "babylonjs-procedural-textures": "9.4.1",
82
+ "babylonjs-gui": "9.9.1",
83
+ "babylonjs-gui-editor": "9.9.1",
84
+ "babylonjs-loaders": "9.9.1",
85
+ "babylonjs-materials": "9.9.1",
86
+ "babylonjs-node-editor": "9.9.1",
87
+ "babylonjs-node-particle-editor": "9.9.1",
88
+ "babylonjs-post-process": "9.9.1",
89
+ "babylonjs-procedural-textures": "9.9.1",
90
90
  "chokidar": "^4.0.3",
91
91
  "class-variance-authority": "^0.7.0",
92
92
  "clsx": "^2.1.0",