@babylonjs/inspector 8.33.0 → 8.33.1-preview

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.
@@ -0,0 +1,173 @@
1
+ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
+ import { FileUploadLine, SwitchPropertyLine, Collapse, NumberDropdownPropertyLine, ToolsServiceIdentity } from './index.js';
3
+ import { useState } from 'react';
4
+ import { ImportAnimationsAsync } from '@babylonjs/core/Loading/sceneLoader.js';
5
+ import { FilesInput } from '@babylonjs/core/Misc/filesInput.js';
6
+ import { Logger } from '@babylonjs/core/Misc/logger.js';
7
+ import '@babylonjs/core/Maths/math.color.js';
8
+ import '@babylonjs/core/Maths/math.vector.js';
9
+ import '@babylonjs/core/Misc/observable.js';
10
+ import '@fluentui/react-components';
11
+ import '@fluentui/react-icons';
12
+ import '@fluentui/react-motion-components-preview';
13
+ import '@babylonjs/core/Misc/typeStore.js';
14
+ import 'usehooks-ts';
15
+ import '@babylonjs/core/Misc/asyncLock.js';
16
+ import '@babylonjs/core/Misc/deferred.js';
17
+ import '@babylonjs/core/Maths/math.scalar.functions.js';
18
+ import '@fluentui-contrib/react-virtualizer';
19
+ import '@babylonjs/addons/msdfText/fontAsset.js';
20
+ import '@babylonjs/addons/msdfText/textRenderer.js';
21
+ import '@babylonjs/core/Debug/physicsViewer.js';
22
+ import '@babylonjs/core/Materials/Textures/texture.js';
23
+ import '@babylonjs/core/Materials/materialFlags.js';
24
+ import '@babylonjs/core/Materials/standardMaterial.js';
25
+ import '@babylonjs/core/Meshes/Builders/groundBuilder.js';
26
+ import '@babylonjs/core/Misc/tools.js';
27
+ import '@babylonjs/core/Rendering/utilityLayerRenderer.js';
28
+ import '@babylonjs/materials/grid/gridMaterial.js';
29
+ import '@babylonjs/core/Misc/dataStorage.js';
30
+ import '@babylonjs/core/Instrumentation/engineInstrumentation.js';
31
+ import '@babylonjs/core/Instrumentation/sceneInstrumentation.js';
32
+ import '@babylonjs/core/Engines/AbstractEngine/abstractEngine.timeQuery.js';
33
+ import '@babylonjs/core/Engines/Extensions/engine.query.js';
34
+ import '@babylonjs/core/Engines/WebGPU/Extensions/engine.query.js';
35
+ import '@babylonjs/core/Misc/PerformanceViewer/performanceViewerCollectionStrategies.js';
36
+ import '@babylonjs/core/Misc/PerformanceViewer/performanceViewerSceneExtension.js';
37
+ import '@babylonjs/core/Misc/pressureObserverWrapper.js';
38
+ import '@babylonjs/core/Engines/abstractEngine.js';
39
+ import '@babylonjs/core/Engines/engineStore.js';
40
+ import 'react-dom/client';
41
+ import '@babylonjs/core/FrameGraph/frameGraphUtils.js';
42
+ import '@babylonjs/core/Gizmos/cameraGizmo.js';
43
+ import '@babylonjs/core/Gizmos/lightGizmo.js';
44
+ import '@babylonjs/core/Bones/bone.js';
45
+ import '@babylonjs/core/Cameras/camera.js';
46
+ import '@babylonjs/core/Gizmos/gizmoManager.js';
47
+ import '@babylonjs/core/Lights/light.js';
48
+ import '@babylonjs/core/Meshes/abstractMesh.js';
49
+ import '@babylonjs/core/node.js';
50
+ import '@babylonjs/core/Animations/animationGroup.js';
51
+ import '@babylonjs/core/Animations/animationPropertiesOverride.js';
52
+ import '@babylonjs/addons/atmosphere/atmosphere.js';
53
+ import '@babylonjs/core/Cameras/arcRotateCamera.js';
54
+ import '@babylonjs/core/Cameras/followCamera.js';
55
+ import '@babylonjs/core/Cameras/freeCamera.js';
56
+ import '@babylonjs/core/Cameras/targetCamera.js';
57
+ import '@babylonjs/core/scene.js';
58
+ import '@babylonjs/core/FrameGraph/frameGraph.js';
59
+ import '@babylonjs/core/Lights/directionalLight.js';
60
+ import '@babylonjs/core/Lights/hemisphericLight.js';
61
+ import '@babylonjs/core/Lights/pointLight.js';
62
+ import '@babylonjs/core/Lights/rectAreaLight.js';
63
+ import '@babylonjs/core/Lights/shadowLight.js';
64
+ import '@babylonjs/core/Lights/spotLight.js';
65
+ import '@babylonjs/core/Lights/Shadows/cascadedShadowGenerator.js';
66
+ import '@babylonjs/core/Lights/Shadows/shadowGenerator.js';
67
+ import '@babylonjs/core/Lights/Shadows/shadowGeneratorSceneComponent.js';
68
+ import '@babylonjs/core/Materials/material.js';
69
+ import '@babylonjs/core/Materials/multiMaterial.js';
70
+ import '@babylonjs/core/Materials/PBR/pbrBaseMaterial.js';
71
+ import '@babylonjs/core/Materials/PBR/pbrBaseSimpleMaterial.js';
72
+ import '@babylonjs/core/Materials/PBR/pbrMaterial.js';
73
+ import '@babylonjs/core/Materials/PBR/openpbrMaterial.js';
74
+ import '@babylonjs/materials/sky/skyMaterial.js';
75
+ import '@babylonjs/core/Engines/constants.js';
76
+ import '@babylonjs/core/Engines/engine.js';
77
+ import '@babylonjs/core/Particles/particleSystem.js';
78
+ import '@babylonjs/core/Misc/fileTools.js';
79
+ import '@babylonjs/core/Meshes/mesh.js';
80
+ import '@babylonjs/core/Debug/skeletonViewer.js';
81
+ import '@babylonjs/core/Meshes/buffer.js';
82
+ import '@babylonjs/core/Meshes/Builders/linesBuilder.js';
83
+ import '@babylonjs/core/Meshes/instancedMesh.js';
84
+ import '@babylonjs/core/Rendering/renderingManager.js';
85
+ import '@babylonjs/core/Rendering/edgesRenderer.js';
86
+ import '@babylonjs/core/Rendering/outlineRenderer.js';
87
+ import '@babylonjs/core/Meshes/GaussianSplatting/gaussianSplattingMesh.js';
88
+ import '@babylonjs/core/Misc/gradients.js';
89
+ import '@babylonjs/core/Materials/Node/Blocks/gradientBlock.js';
90
+ import '@babylonjs/core/Particles/attractor.js';
91
+ import '@babylonjs/core/Meshes/Builders/sphereBuilder.js';
92
+ import '@babylonjs/core/Meshes/transformNode.js';
93
+ import '@babylonjs/core/Physics/v2/IPhysicsEnginePlugin.js';
94
+ import '@babylonjs/core/Physics/v2/physicsEngineComponent.js';
95
+ import '@babylonjs/core/PostProcesses/postProcess.js';
96
+ import '@babylonjs/core/Materials/Textures/cubeTexture.js';
97
+ import '@babylonjs/core/Materials/imageProcessingConfiguration.js';
98
+ import '@babylonjs/core/Bones/skeleton.js';
99
+ import '@babylonjs/core/Sprites/sprite.js';
100
+ import '@babylonjs/core/Sprites/spriteManager.js';
101
+ import '@babylonjs/core/Materials/Textures/baseTexture.js';
102
+ import '@babylonjs/core/Materials/Textures/multiRenderTarget.js';
103
+ import '@babylonjs/core/Materials/Textures/renderTargetTexture.js';
104
+ import '@babylonjs/core/Materials/Textures/thinTexture.js';
105
+ import '@babylonjs/core/Misc/textureTools.js';
106
+ import '@babylonjs/core/Rendering/boundingBoxRenderer.js';
107
+ import '@babylonjs/core/PostProcesses/RenderPipeline/postProcessRenderPipelineManagerSceneComponent.js';
108
+ import '@babylonjs/core/Sprites/spriteSceneComponent.js';
109
+ import '@babylonjs/core/Materials/Textures/dynamicTexture.js';
110
+ import '@babylonjs/core/Events/pointerEvents.js';
111
+
112
+ const AnimationGroupLoadingModes = [
113
+ { label: "Clean", value: 0 /* SceneLoaderAnimationGroupLoadingMode.Clean */ },
114
+ { label: "Stop", value: 1 /* SceneLoaderAnimationGroupLoadingMode.Stop */ },
115
+ { label: "Sync", value: 2 /* SceneLoaderAnimationGroupLoadingMode.Sync */ },
116
+ { label: "NoSync", value: 3 /* SceneLoaderAnimationGroupLoadingMode.NoSync */ },
117
+ ];
118
+ const ImportAnimationsTools = ({ scene }) => {
119
+ const [importDefaults, setImportDefaults] = useState({
120
+ overwriteAnimations: true,
121
+ animationGroupLoadingMode: 0 /* SceneLoaderAnimationGroupLoadingMode.Clean */,
122
+ });
123
+ const importAnimations = (event) => {
124
+ const reloadAsync = async function (sceneFile) {
125
+ if (sceneFile) {
126
+ try {
127
+ await ImportAnimationsAsync(sceneFile, scene, {
128
+ overwriteAnimations: importDefaults.overwriteAnimations,
129
+ animationGroupLoadingMode: importDefaults.animationGroupLoadingMode,
130
+ });
131
+ if (scene.animationGroups.length > 0) {
132
+ const currentGroup = scene.animationGroups[0];
133
+ currentGroup.play(true);
134
+ }
135
+ }
136
+ catch (error) {
137
+ Logger.Error(`Error importing animations: ${error}`);
138
+ }
139
+ }
140
+ };
141
+ const filesInputAnimation = new FilesInput(scene.getEngine(), scene, null, null, null, null, null, reloadAsync, null);
142
+ filesInputAnimation.loadFiles(event);
143
+ filesInputAnimation.dispose();
144
+ };
145
+ return (jsxs(Fragment, { children: [jsx(FileUploadLine, { label: "Import Animations", accept: "gltf", onClick: (evt) => importAnimations(evt) }), jsx(SwitchPropertyLine, { label: "Overwrite Animations", value: importDefaults.overwriteAnimations, onChange: (value) => {
146
+ setImportDefaults({ ...importDefaults, overwriteAnimations: value });
147
+ } }), jsx(Collapse, { visible: !importDefaults.overwriteAnimations, children: jsx(NumberDropdownPropertyLine, { label: "Animation Merge Mode", options: AnimationGroupLoadingModes, value: importDefaults.animationGroupLoadingMode, onChange: (value) => {
148
+ setImportDefaults({ ...importDefaults, animationGroupLoadingMode: value });
149
+ } }) })] }));
150
+ };
151
+
152
+ const SceneImportServiceDefinition = {
153
+ friendlyName: "Import Tool",
154
+ consumes: [ToolsServiceIdentity],
155
+ factory: (toolsService) => {
156
+ const contentRegistration = toolsService.addSectionContent({
157
+ key: "AnimationImport",
158
+ section: "Animation Import",
159
+ component: ({ context }) => jsx(ImportAnimationsTools, { scene: context }),
160
+ });
161
+ return {
162
+ dispose: () => {
163
+ contentRegistration.dispose();
164
+ },
165
+ };
166
+ },
167
+ };
168
+ var importService = {
169
+ serviceDefinitions: [SceneImportServiceDefinition],
170
+ };
171
+
172
+ export { SceneImportServiceDefinition, importService as default };
173
+ //# sourceMappingURL=importService-Si8UwFwR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"importService-Si8UwFwR.js","sources":["../../../../../../../../dev/inspector-v2/src/components/tools/importTools.tsx","../../../../../../../../dev/inspector-v2/src/services/panes/tools/importService.tsx"],"sourcesContent":["import { useState } from \"react\";\r\nimport type { FunctionComponent } from \"react\";\r\nimport type { Scene } from \"core/scene\";\r\nimport type { DropdownOption } from \"shared-ui-components/fluent/primitives/dropdown\";\r\nimport { ImportAnimationsAsync, SceneLoaderAnimationGroupLoadingMode } from \"core/Loading/sceneLoader\";\r\nimport { FilesInput } from \"core/Misc/filesInput\";\r\nimport { Logger } from \"core/Misc/logger\";\r\nimport { SwitchPropertyLine } from \"shared-ui-components/fluent/hoc/propertyLines/switchPropertyLine\";\r\nimport { NumberDropdownPropertyLine } from \"shared-ui-components/fluent/hoc/propertyLines/dropdownPropertyLine\";\r\nimport { FileUploadLine } from \"shared-ui-components/fluent/hoc/fileUploadLine\";\r\nimport { Collapse } from \"shared-ui-components/fluent/primitives/collapse\";\r\n\r\nconst AnimationGroupLoadingModes = [\r\n { label: \"Clean\", value: SceneLoaderAnimationGroupLoadingMode.Clean },\r\n { label: \"Stop\", value: SceneLoaderAnimationGroupLoadingMode.Stop },\r\n { label: \"Sync\", value: SceneLoaderAnimationGroupLoadingMode.Sync },\r\n { label: \"NoSync\", value: SceneLoaderAnimationGroupLoadingMode.NoSync },\r\n] as const satisfies DropdownOption<number>[];\r\n\r\nexport const ImportAnimationsTools: FunctionComponent<{ scene: Scene }> = ({ scene }) => {\r\n const [importDefaults, setImportDefaults] = useState({\r\n overwriteAnimations: true,\r\n animationGroupLoadingMode: SceneLoaderAnimationGroupLoadingMode.Clean,\r\n });\r\n\r\n const importAnimations = (event: FileList) => {\r\n const reloadAsync = async function (sceneFile: File) {\r\n if (sceneFile) {\r\n try {\r\n await ImportAnimationsAsync(sceneFile, scene, {\r\n overwriteAnimations: importDefaults.overwriteAnimations,\r\n animationGroupLoadingMode: importDefaults.animationGroupLoadingMode,\r\n });\r\n\r\n if (scene.animationGroups.length > 0) {\r\n const currentGroup = scene.animationGroups[0];\r\n currentGroup.play(true);\r\n }\r\n } catch (error) {\r\n Logger.Error(`Error importing animations: ${error}`);\r\n }\r\n }\r\n };\r\n\r\n const filesInputAnimation = new FilesInput(scene.getEngine(), scene, null, null, null, null, null, reloadAsync, null);\r\n filesInputAnimation.loadFiles(event);\r\n filesInputAnimation.dispose();\r\n };\r\n\r\n return (\r\n <>\r\n <FileUploadLine label=\"Import Animations\" accept=\"gltf\" onClick={(evt: FileList) => importAnimations(evt)} />\r\n <SwitchPropertyLine\r\n label=\"Overwrite Animations\"\r\n value={importDefaults.overwriteAnimations}\r\n onChange={(value) => {\r\n setImportDefaults({ ...importDefaults, overwriteAnimations: value });\r\n }}\r\n />\r\n <Collapse visible={!importDefaults.overwriteAnimations}>\r\n <NumberDropdownPropertyLine\r\n label=\"Animation Merge Mode\"\r\n options={AnimationGroupLoadingModes}\r\n value={importDefaults.animationGroupLoadingMode}\r\n onChange={(value) => {\r\n setImportDefaults({ ...importDefaults, animationGroupLoadingMode: value });\r\n }}\r\n />\r\n </Collapse>\r\n </>\r\n );\r\n};\r\n","import type { ServiceDefinition } from \"../../../modularity/serviceDefinition\";\r\nimport { ToolsServiceIdentity } from \"../toolsService\";\r\nimport type { IToolsService } from \"../toolsService\";\r\nimport { ImportAnimationsTools } from \"../../../components/tools/importTools\";\r\n\r\nexport const SceneImportServiceDefinition: ServiceDefinition<[], [IToolsService]> = {\r\n friendlyName: \"Import Tool\",\r\n consumes: [ToolsServiceIdentity],\r\n factory: (toolsService) => {\r\n const contentRegistration = toolsService.addSectionContent({\r\n key: \"AnimationImport\",\r\n section: \"Animation Import\",\r\n component: ({ context }) => <ImportAnimationsTools scene={context} />,\r\n });\r\n\r\n return {\r\n dispose: () => {\r\n contentRegistration.dispose();\r\n },\r\n };\r\n },\r\n};\r\n\r\nexport default {\r\n serviceDefinitions: [SceneImportServiceDefinition],\r\n} as const;\r\n"],"names":["_jsxs","_jsx"],"mappings":"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"}