@babylonjs/inspector 8.56.2 → 9.1.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.
Files changed (278) hide show
  1. package/lib/components/curveEditor/bottomBar/rangeSelector.d.ts +6 -0
  2. package/lib/components/curveEditor/bottomBar.d.ts +6 -0
  3. package/lib/components/curveEditor/canvas/canvas.d.ts +6 -0
  4. package/lib/components/curveEditor/canvas/curve.d.ts +14 -0
  5. package/lib/components/curveEditor/canvas/curveData.d.ts +40 -0
  6. package/lib/components/curveEditor/canvas/frameBar.d.ts +12 -0
  7. package/lib/components/curveEditor/canvas/graph.d.ts +11 -0
  8. package/lib/components/curveEditor/canvas/keyPoint.d.ts +34 -0
  9. package/lib/components/curveEditor/canvas/playHead.d.ts +12 -0
  10. package/lib/components/curveEditor/canvas/rangeFrameBar.d.ts +10 -0
  11. package/lib/components/curveEditor/curveEditor.d.ts +29 -0
  12. package/lib/components/curveEditor/curveEditorButton.d.ts +31 -0
  13. package/lib/components/curveEditor/curveEditorColors.d.ts +56 -0
  14. package/lib/components/curveEditor/curveEditorContext.d.ts +267 -0
  15. package/lib/components/curveEditor/rangeSelector.d.ts +6 -0
  16. package/lib/components/curveEditor/sideBar/addAnimationPanel.d.ts +10 -0
  17. package/lib/components/curveEditor/sideBar/animationList.d.ts +6 -0
  18. package/lib/components/curveEditor/sideBar/editAnimationPanel.d.ts +12 -0
  19. package/lib/components/curveEditor/sideBar/loadAnimationPanel.d.ts +10 -0
  20. package/lib/components/curveEditor/sideBar/saveAnimationPanel.d.ts +10 -0
  21. package/lib/components/curveEditor/sideBar.d.ts +6 -0
  22. package/lib/components/curveEditor/topBar.d.ts +6 -0
  23. package/lib/components/debug/debugPane.d.ts +6 -0
  24. package/lib/components/errorBoundary.d.ts +31 -0
  25. package/lib/components/extensibleAccordion.d.ts +67 -0
  26. package/lib/components/gizmoToolbar.d.ts +7 -0
  27. package/lib/components/pane.d.ts +4 -0
  28. package/lib/components/performanceViewer/canvasGraph.d.ts +16 -0
  29. package/lib/components/performanceViewer/canvasGraphService.d.ts +238 -0
  30. package/lib/components/performanceViewer/graphSupportingTypes.d.ts +90 -0
  31. package/lib/components/performanceViewer/performanceSidebar.d.ts +10 -0
  32. package/lib/components/performanceViewer/performanceViewer.d.ts +15 -0
  33. package/lib/components/pickingToolbar.d.ts +11 -0
  34. package/lib/components/properties/animation/animationGroupProperties.d.ts +8 -0
  35. package/lib/components/properties/animation/animationsProperties.d.ts +21 -0
  36. package/lib/components/properties/animation/targetedAnimationProperties.d.ts +7 -0
  37. package/lib/components/properties/atmosphereProperties.d.ts +20 -0
  38. package/lib/components/properties/audio/soundProperties.d.ts +8 -0
  39. package/lib/components/properties/boundProperty.d.ts +80 -0
  40. package/lib/components/properties/cameras/arcRotateCameraProperties.d.ts +17 -0
  41. package/lib/components/properties/cameras/cameraProperties.d.ts +10 -0
  42. package/lib/components/properties/cameras/followCameraProperties.d.ts +8 -0
  43. package/lib/components/properties/cameras/freeCameraProperties.d.ts +11 -0
  44. package/lib/components/properties/cameras/geospatialCameraProperties.d.ts +11 -0
  45. package/lib/components/properties/cameras/targetCameraProperties.d.ts +8 -0
  46. package/lib/components/properties/commonGeneralProperties.d.ts +16 -0
  47. package/lib/components/properties/frameGraph/frameGraphProperties.d.ts +8 -0
  48. package/lib/components/properties/generateCopyString.d.ts +7 -0
  49. package/lib/components/properties/lights/areaLightProperties.d.ts +5 -0
  50. package/lib/components/properties/lights/clusteredLightContainerProperties.d.ts +10 -0
  51. package/lib/components/properties/lights/directionalLightProperties.d.ts +8 -0
  52. package/lib/components/properties/lights/hemisphericLightProperties.d.ts +5 -0
  53. package/lib/components/properties/lights/lightProperties.d.ts +7 -0
  54. package/lib/components/properties/lights/pointLightProperties.d.ts +5 -0
  55. package/lib/components/properties/lights/shadowGeneratorProperties.d.ts +6 -0
  56. package/lib/components/properties/lights/shadowLightProperties.d.ts +5 -0
  57. package/lib/components/properties/lights/spotLightProperties.d.ts +5 -0
  58. package/lib/components/properties/linkToEntityPropertyLine.d.ts +27 -0
  59. package/lib/components/properties/materials/materialProperties.d.ts +11 -0
  60. package/lib/components/properties/materials/multiMaterialProperties.d.ts +7 -0
  61. package/lib/components/properties/materials/nodeMaterialProperties.d.ts +8 -0
  62. package/lib/components/properties/materials/normalMapProperties.d.ts +19 -0
  63. package/lib/components/properties/materials/openpbrMaterialProperties.d.ts +61 -0
  64. package/lib/components/properties/materials/pbrBaseMaterialProperties.d.ts +285 -0
  65. package/lib/components/properties/materials/skyMaterialProperties.d.ts +5 -0
  66. package/lib/components/properties/materials/standardMaterialProperties.d.ts +29 -0
  67. package/lib/components/properties/metadataProperties.d.ts +12 -0
  68. package/lib/components/properties/nodes/abstractMeshProperties.d.ts +27 -0
  69. package/lib/components/properties/nodes/gaussianSplattingProperties.d.ts +5 -0
  70. package/lib/components/properties/nodes/meshProperties.d.ts +11 -0
  71. package/lib/components/properties/nodes/nodeProperties.d.ts +7 -0
  72. package/lib/components/properties/particles/attractor.d.ts +23 -0
  73. package/lib/components/properties/particles/attractorAdapter.d.ts +56 -0
  74. package/lib/components/properties/particles/attractorList.d.ts +15 -0
  75. package/lib/components/properties/particles/attractorProperties.d.ts +11 -0
  76. package/lib/components/properties/particles/colorProperties.d.ts +11 -0
  77. package/lib/components/properties/particles/commandsProperties.d.ts +13 -0
  78. package/lib/components/properties/particles/emissionProperties.d.ts +11 -0
  79. package/lib/components/properties/particles/emitterProperties.d.ts +13 -0
  80. package/lib/components/properties/particles/lifetimeProperties.d.ts +11 -0
  81. package/lib/components/properties/particles/nodeEditorProperties.d.ts +12 -0
  82. package/lib/components/properties/particles/rotationProperties.d.ts +11 -0
  83. package/lib/components/properties/particles/sizeProperties.d.ts +11 -0
  84. package/lib/components/properties/particles/spritesheetProperties.d.ts +11 -0
  85. package/lib/components/properties/particles/systemProperties.d.ts +13 -0
  86. package/lib/components/properties/physics/physicsProperties.d.ts +6 -0
  87. package/lib/components/properties/postProcesses/postProcessProperties.d.ts +10 -0
  88. package/lib/components/properties/propertiesPane.d.ts +2 -0
  89. package/lib/components/properties/renderingPipelines/defaultRenderingPipelineProperties.d.ts +23 -0
  90. package/lib/components/properties/renderingPipelines/iblShadowsRenderPipelineProperties.d.ts +11 -0
  91. package/lib/components/properties/renderingPipelines/lensRenderingPipelineProperties.d.ts +8 -0
  92. package/lib/components/properties/renderingPipelines/postProcessRenderPipelineProperties.d.ts +5 -0
  93. package/lib/components/properties/renderingPipelines/ssao2RenderingPipelineProperties.d.ts +8 -0
  94. package/lib/components/properties/renderingPipelines/ssaoRenderingPipelineProperties.d.ts +5 -0
  95. package/lib/components/properties/renderingPipelines/ssrRenderingPipelineProperties.d.ts +17 -0
  96. package/lib/components/properties/skeleton/boneProperties.d.ts +7 -0
  97. package/lib/components/properties/skeleton/skeletonProperties.d.ts +8 -0
  98. package/lib/components/properties/sprites/spriteManagerProperties.d.ts +25 -0
  99. package/lib/components/properties/sprites/spriteProperties.d.ts +19 -0
  100. package/lib/components/properties/textures/advancedDynamicTextureProperties.d.ts +11 -0
  101. package/lib/components/properties/textures/baseTextureProperties.d.ts +16 -0
  102. package/lib/components/properties/textures/cubeTextureProperties.d.ts +5 -0
  103. package/lib/components/properties/textures/multiRenderTargetProperties.d.ts +5 -0
  104. package/lib/components/properties/textures/renderTargetTextureProperties.d.ts +5 -0
  105. package/lib/components/properties/textures/textureFormatUtils.d.ts +48 -0
  106. package/lib/components/properties/textures/texturePreview.d.ts +17 -0
  107. package/lib/components/properties/textures/textureProperties.d.ts +11 -0
  108. package/lib/components/properties/textures/thinTextureProperties.d.ts +8 -0
  109. package/lib/components/properties/transformProperties.d.ts +11 -0
  110. package/lib/components/scene/sceneExplorer.d.ts +182 -0
  111. package/lib/components/scene/sceneExplorerDragDrop.d.ts +38 -0
  112. package/lib/components/scene/sceneProperties.d.ts +19 -0
  113. package/lib/components/stats/countStats.d.ts +5 -0
  114. package/lib/components/stats/frameStepStats.d.ts +8 -0
  115. package/lib/components/stats/performanceStats.d.ts +6 -0
  116. package/lib/components/stats/statsPane.d.ts +3 -0
  117. package/lib/components/stats/systemStats.d.ts +5 -0
  118. package/lib/components/teachingMoment.d.ts +20 -0
  119. package/lib/components/textureEditor/canvasManager.d.ts +113 -0
  120. package/lib/components/textureEditor/canvasShader.d.ts +10 -0
  121. package/lib/components/textureEditor/channels.d.ts +25 -0
  122. package/lib/components/textureEditor/properties.d.ts +23 -0
  123. package/lib/components/textureEditor/status.d.ts +13 -0
  124. package/lib/components/textureEditor/textureEditor.d.ts +113 -0
  125. package/lib/components/textureEditor/tools.d.ts +20 -0
  126. package/lib/components/theme.d.ts +10 -0
  127. package/lib/components/tools/capture/equirectangularCaptureTool.d.ts +5 -0
  128. package/lib/components/tools/capture/gifCaptureTool.d.ts +7 -0
  129. package/lib/components/tools/capture/sceneReplayTool.d.ts +5 -0
  130. package/lib/components/tools/capture/screenshotTool.d.ts +5 -0
  131. package/lib/components/tools/capture/videoCaptureTool.d.ts +5 -0
  132. package/lib/components/tools/exportTools.d.ts +11 -0
  133. package/lib/components/tools/import/gltfAnimationImportTool.d.ts +5 -0
  134. package/lib/components/tools/import/gltfLoaderOptionsTool.d.ts +8 -0
  135. package/lib/components/tools/import/gltfValidationTool.d.ts +5 -0
  136. package/lib/components/tools/reflectorTools.d.ts +5 -0
  137. package/lib/components/tools/toolsPane.d.ts +3 -0
  138. package/lib/components/uxContextProvider.d.ts +2 -0
  139. package/lib/contexts/extensionManagerContext.d.ts +6 -0
  140. package/lib/contexts/propertyContext.d.ts +30 -0
  141. package/lib/contexts/settingsContext.d.ts +3 -0
  142. package/lib/contexts/watcherContext.d.ts +3 -0
  143. package/lib/extensibility/builtInsExtensionFeed.d.ts +21 -0
  144. package/lib/extensibility/defaultInspectorExtensionFeed.d.ts +5 -0
  145. package/lib/extensibility/extensionFeed.d.ts +113 -0
  146. package/lib/extensibility/extensionManager.d.ts +111 -0
  147. package/lib/extensions/quickCreate/cameras.d.ts +14 -0
  148. package/lib/extensions/quickCreate/frameGraphs.d.ts +14 -0
  149. package/lib/extensions/quickCreate/lights.d.ts +14 -0
  150. package/lib/extensions/quickCreate/materials.d.ts +14 -0
  151. package/lib/extensions/quickCreate/meshes.d.ts +10 -0
  152. package/lib/extensions/quickCreate/particles.d.ts +15 -0
  153. package/lib/extensions/quickCreate/quickCreateLayout.d.ts +44 -0
  154. package/lib/extensions/quickCreate/quickCreateToolsService.d.ts +11 -0
  155. package/lib/extensions/quickCreate/renderingPipelines.d.ts +14 -0
  156. package/lib/extensions/quickCreate/settingsPopover.d.ts +14 -0
  157. package/lib/extensions/quickCreate/spriteManagers.d.ts +14 -0
  158. package/lib/{extensionsListService-zYdKn8uM.js → extensionsListService-BmiNjZiw.js} +7 -7
  159. package/lib/extensionsListService-BmiNjZiw.js.map +1 -0
  160. package/lib/hooks/compoundPropertyHooks.d.ts +24 -0
  161. package/lib/hooks/instrumentationHooks.d.ts +9 -0
  162. package/lib/hooks/observableHooks.d.ts +35 -0
  163. package/lib/hooks/pollingHooks.d.ts +7 -0
  164. package/lib/hooks/resourceHooks.d.ts +20 -0
  165. package/lib/hooks/settingsHooks.d.ts +13 -0
  166. package/lib/hooks/teachingMomentHooks.d.ts +34 -0
  167. package/lib/hooks/themeHooks.d.ts +17 -0
  168. package/lib/hooks/useObservableArray.d.ts +11 -0
  169. package/lib/hooks/useResizeHandle.d.ts +35 -0
  170. package/lib/{index-DuVF9zYN.js → index-BCbXjPTn.js} +791 -758
  171. package/lib/index-BCbXjPTn.js.map +1 -0
  172. package/lib/index.d.ts +108 -74767
  173. package/lib/index.js +5 -5
  174. package/lib/inspector.d.ts +41 -0
  175. package/lib/instrumentation/functionInstrumentation.d.ts +20 -0
  176. package/lib/instrumentation/propertyInstrumentation.d.ts +33 -0
  177. package/lib/legacy/debugLayer.d.ts +24 -0
  178. package/lib/legacy/inspectableCustomPropertiesService.d.ts +3 -0
  179. package/lib/legacy/inspector.d.ts +39 -0
  180. package/lib/legacy/legacy.d.ts +9 -0
  181. package/lib/legacy/propertiesSectionMapping.d.ts +99 -0
  182. package/lib/misc/arrayUtils.d.ts +4 -0
  183. package/lib/misc/assert.d.ts +5 -0
  184. package/lib/misc/graphUtils.d.ts +44 -0
  185. package/lib/misc/nodeGeometryEditor.d.ts +3 -0
  186. package/lib/misc/nodeMaterialEditor.d.ts +2 -0
  187. package/lib/misc/nodeParticleEditor.d.ts +2 -0
  188. package/lib/misc/nodeRenderGraphEditor.d.ts +2 -0
  189. package/lib/misc/observableCollection.d.ts +23 -0
  190. package/lib/misc/snippetUtils.d.ts +74 -0
  191. package/lib/misc/textureTools.d.ts +34 -0
  192. package/lib/modularTool.d.ts +37 -0
  193. package/lib/modularity/serviceContainer.d.ts +41 -0
  194. package/lib/modularity/serviceDefinition.d.ts +64 -0
  195. package/lib/{quickCreateToolsService-BtsSLeMY.js → quickCreateToolsService-BoqrJqoM.js} +6 -6
  196. package/lib/quickCreateToolsService-BoqrJqoM.js.map +1 -0
  197. package/lib/{reflectorService-Bzs-Ykos.js → reflectorService-CFTva2GG.js} +6 -6
  198. package/lib/reflectorService-CFTva2GG.js.map +1 -0
  199. package/lib/services/defaultToolbarMetadata.d.ts +5 -0
  200. package/lib/services/extensionsListService.d.ts +3 -0
  201. package/lib/services/gizmoService.d.ts +84 -0
  202. package/lib/services/gizmoToolbarService.d.ts +5 -0
  203. package/lib/services/globalSettings.d.ts +5 -0
  204. package/lib/services/highlightService.d.ts +8 -0
  205. package/lib/services/miniStatsService.d.ts +4 -0
  206. package/lib/services/panes/debugService.d.ts +25 -0
  207. package/lib/services/panes/properties/animationGroupPropertiesService.d.ts +4 -0
  208. package/lib/services/panes/properties/animationPropertiesService.d.ts +5 -0
  209. package/lib/services/panes/properties/atmospherePropertiesService.d.ts +5 -0
  210. package/lib/services/panes/properties/audioPropertiesService.d.ts +3 -0
  211. package/lib/services/panes/properties/cameraPropertiesService.d.ts +7 -0
  212. package/lib/services/panes/properties/commonPropertiesService.d.ts +3 -0
  213. package/lib/services/panes/properties/effectLayerPropertiesService.d.ts +3 -0
  214. package/lib/services/panes/properties/frameGraphPropertiesService.d.ts +3 -0
  215. package/lib/services/panes/properties/lightPropertiesServices.d.ts +4 -0
  216. package/lib/services/panes/properties/materialPropertiesService.d.ts +4 -0
  217. package/lib/services/panes/properties/metadataPropertiesService.d.ts +3 -0
  218. package/lib/services/panes/properties/nodePropertiesService.d.ts +4 -0
  219. package/lib/services/panes/properties/particleSystemPropertiesService.d.ts +4 -0
  220. package/lib/services/panes/properties/physicsPropertiesService.d.ts +3 -0
  221. package/lib/services/panes/properties/postProcessPropertiesService.d.ts +3 -0
  222. package/lib/services/panes/properties/propertiesService.d.ts +53 -0
  223. package/lib/services/panes/properties/renderingPipelinePropertiesService.d.ts +3 -0
  224. package/lib/services/panes/properties/scenePropertiesService.d.ts +4 -0
  225. package/lib/services/panes/properties/skeletonPropertiesService.d.ts +4 -0
  226. package/lib/services/panes/properties/spritePropertiesService.d.ts +4 -0
  227. package/lib/services/panes/properties/texturePropertiesService.d.ts +4 -0
  228. package/lib/services/panes/properties/transformPropertiesService.d.ts +3 -0
  229. package/lib/services/panes/scene/animationGroupExplorerService.d.ts +5 -0
  230. package/lib/services/panes/scene/atmosphereExplorerService.d.ts +5 -0
  231. package/lib/services/panes/scene/defaultSectionsMetadata.d.ts +33 -0
  232. package/lib/services/panes/scene/disposableCommandService.d.ts +4 -0
  233. package/lib/services/panes/scene/effectLayersExplorerService.d.ts +5 -0
  234. package/lib/services/panes/scene/frameGraphExplorerService.d.ts +5 -0
  235. package/lib/services/panes/scene/guiExplorerService.d.ts +5 -0
  236. package/lib/services/panes/scene/materialExplorerService.d.ts +5 -0
  237. package/lib/services/panes/scene/nodeExplorerService.d.ts +7 -0
  238. package/lib/services/panes/scene/particleSystemExplorerService.d.ts +5 -0
  239. package/lib/services/panes/scene/postProcessExplorerService.d.ts +5 -0
  240. package/lib/services/panes/scene/renderingPipelinesExplorerService.d.ts +5 -0
  241. package/lib/services/panes/scene/sceneExplorerService.d.ts +34 -0
  242. package/lib/services/panes/scene/skeletonExplorerService.d.ts +5 -0
  243. package/lib/services/panes/scene/soundExplorerService.d.ts +5 -0
  244. package/lib/services/panes/scene/spriteManagerExplorerService.d.ts +6 -0
  245. package/lib/services/panes/scene/texturesExplorerService.d.ts +5 -0
  246. package/lib/services/panes/settingsService.d.ts +25 -0
  247. package/lib/services/panes/statsService.d.ts +28 -0
  248. package/lib/services/panes/tools/captureService.d.ts +3 -0
  249. package/lib/services/panes/tools/exportService.d.ts +3 -0
  250. package/lib/services/panes/tools/import/gltfAnimationImportService.d.ts +3 -0
  251. package/lib/services/panes/tools/import/gltfLoaderOptionsDefaults.d.ts +46 -0
  252. package/lib/services/panes/tools/import/gltfLoaderOptionsService.d.ts +4 -0
  253. package/lib/services/panes/tools/import/gltfValidationService.d.ts +3 -0
  254. package/lib/services/panes/tools/reflectorService.d.ts +7 -0
  255. package/lib/services/panes/toolsService.d.ts +29 -0
  256. package/lib/services/pickingService.d.ts +7 -0
  257. package/lib/services/reactContextService.d.ts +18 -0
  258. package/lib/services/sceneContext.d.ts +19 -0
  259. package/lib/services/selectionService.d.ts +24 -0
  260. package/lib/services/settingsStore.d.ts +55 -0
  261. package/lib/services/shellService.d.ts +256 -0
  262. package/lib/services/shellSettingsService.d.ts +3 -0
  263. package/lib/services/textureEditor/textureEditorService.d.ts +21 -0
  264. package/lib/services/textureEditor/tools/contrast.d.ts +2 -0
  265. package/lib/services/textureEditor/tools/eyedropper.d.ts +5 -0
  266. package/lib/services/textureEditor/tools/floodfill.d.ts +5 -0
  267. package/lib/services/textureEditor/tools/paintbrush.d.ts +2 -0
  268. package/lib/services/textureEditor/tools/rectangularSelect.d.ts +5 -0
  269. package/lib/services/themeSelectorService.d.ts +3 -0
  270. package/lib/services/themeService.d.ts +60 -0
  271. package/lib/services/userFeedbackService.d.ts +3 -0
  272. package/lib/services/watcherService.d.ts +38 -0
  273. package/lib/themes/babylonTheme.d.ts +3 -0
  274. package/package.json +9 -9
  275. package/lib/extensionsListService-zYdKn8uM.js.map +0 -1
  276. package/lib/index-DuVF9zYN.js.map +0 -1
  277. package/lib/quickCreateToolsService-BtsSLeMY.js.map +0 -1
  278. package/lib/reflectorService-Bzs-Ykos.js.map +0 -1
@@ -0,0 +1,6 @@
1
+ import { type FunctionComponent } from "react";
2
+ /**
3
+ * Range selector component - a draggable scrollbar for selecting frame range
4
+ * @returns The range selector component
5
+ */
6
+ export declare const RangeSelector: FunctionComponent;
@@ -0,0 +1,6 @@
1
+ import { type FunctionComponent } from "react";
2
+ /**
3
+ * Bottom bar component with playback controls and frame navigation.
4
+ * @returns The BottomBar component.
5
+ */
6
+ export declare const BottomBar: FunctionComponent;
@@ -0,0 +1,6 @@
1
+ import { type FunctionComponent } from "react";
2
+ /**
3
+ * Main canvas area containing the graph, playhead, and frame bars
4
+ * @returns The canvas component
5
+ */
6
+ export declare const Canvas: FunctionComponent;
@@ -0,0 +1,14 @@
1
+ import { type FunctionComponent } from "react";
2
+ import { type CurveData } from "./curveData";
3
+ type CurveProps = {
4
+ curve: CurveData;
5
+ convertX: (frame: number) => number;
6
+ convertY: (value: number) => number;
7
+ };
8
+ /**
9
+ * Curve component that renders an animation curve path
10
+ * @param props - The curve props
11
+ * @returns The rendered curve SVG element
12
+ */
13
+ export declare const Curve: FunctionComponent<CurveProps>;
14
+ export {};
@@ -0,0 +1,40 @@
1
+ import { Animation } from "@babylonjs/core/Animations/animation.js";
2
+ import { AnimationKeyInterpolation } from "@babylonjs/core/Animations/animationKey.js";
3
+ import { Observable } from "@babylonjs/core/Misc/observable.js";
4
+ export interface KeyEntry {
5
+ frame: number;
6
+ value: number;
7
+ inTangent?: number;
8
+ outTangent?: number;
9
+ lockedTangent: boolean;
10
+ interpolation?: AnimationKeyInterpolation;
11
+ }
12
+ export declare class CurveData {
13
+ static readonly SampleRate = 50;
14
+ keys: KeyEntry[];
15
+ animation: Animation;
16
+ color: string;
17
+ onDataUpdatedObservable: Observable<void>;
18
+ property?: string;
19
+ tangentBuilder?: () => any;
20
+ setDefaultInTangent?: (keyId: number) => any;
21
+ setDefaultOutTangent?: (keyId: number) => any;
22
+ siblings: CurveData[];
23
+ static readonly TangentLength = 50;
24
+ constructor(color: string, animation: Animation, property?: string, tangentBuilder?: () => any, setDefaultInTangent?: (keyId: number) => any, setDefaultOutTangent?: (keyId: number) => any);
25
+ getPathData(convertX: (x: number) => number, convertY: (y: number) => number): string;
26
+ updateLockedTangentMode(keyIndex: number, enabled: boolean): void;
27
+ updateInterpolationMode(keyIndex: number, interpolationMode: AnimationKeyInterpolation): void;
28
+ getInControlPoint(keyIndex: number): number | undefined;
29
+ getOutControlPoint(keyIndex: number): number | undefined;
30
+ hasDefinedOutTangent(keyIndex: number): boolean;
31
+ evaluateOutTangent(keyIndex: number): number;
32
+ hasDefinedInTangent(keyIndex: number): boolean;
33
+ evaluateInTangent(keyIndex: number): number;
34
+ storeDefaultInTangent(keyIndex: number): void;
35
+ storeDefaultOutTangent(keyIndex: number): void;
36
+ updateInTangentFromControlPoint(keyId: number, slope: number): void;
37
+ updateOutTangentFromControlPoint(keyId: number, slope: number): void;
38
+ updateKeyFrame(keyId: number, frame: number): void;
39
+ updateKeyValue(keyId: number, value: number): void;
40
+ }
@@ -0,0 +1,12 @@
1
+ import { type FunctionComponent } from "react";
2
+ type FrameBarProps = {
3
+ /** Width of the frame bar */
4
+ width: number;
5
+ };
6
+ /**
7
+ * Frame bar showing frame numbers along the top of the graph
8
+ * @param props - The component props
9
+ * @returns The frame bar component
10
+ */
11
+ export declare const FrameBar: FunctionComponent<FrameBarProps>;
12
+ export {};
@@ -0,0 +1,11 @@
1
+ import { type FunctionComponent } from "react";
2
+ type GraphProps = {
3
+ width: number;
4
+ height: number;
5
+ };
6
+ /**
7
+ * Main graph area for displaying and editing animation curves
8
+ * @returns The graph component
9
+ */
10
+ export declare const Graph: FunctionComponent<GraphProps>;
11
+ export {};
@@ -0,0 +1,34 @@
1
+ import { type Nullable } from "@babylonjs/core/types.js";
2
+ import * as React from "react";
3
+ import { type CurveData } from "./curveData";
4
+ /** Selection state for key points */
5
+ export declare enum SelectionState {
6
+ None = 0,
7
+ Selected = 1,
8
+ Siblings = 2
9
+ }
10
+ /** Props for the KeyPointComponent */
11
+ interface IKeyPointComponentProps {
12
+ x: number;
13
+ y: number;
14
+ getPreviousX: () => Nullable<number>;
15
+ getNextX: () => Nullable<number>;
16
+ invertX: (x: number) => number;
17
+ invertY: (y: number) => number;
18
+ convertX: (x: number) => number;
19
+ convertY: (y: number) => number;
20
+ scale: number;
21
+ keyId: number;
22
+ curve: CurveData;
23
+ channel: string;
24
+ onFrameValueChanged: (value: number) => void;
25
+ onKeyValueChanged: (value: number) => void;
26
+ }
27
+ /**
28
+ * KeyPointComponent - Renders a single key point on the curve editor
29
+ * Handles selection, dragging, and tangent manipulation
30
+ * @param props - The component props
31
+ * @returns The rendered key point SVG element
32
+ */
33
+ export declare const KeyPointComponent: React.FunctionComponent<IKeyPointComponentProps>;
34
+ export default KeyPointComponent;
@@ -0,0 +1,12 @@
1
+ import { type FunctionComponent } from "react";
2
+ type PlayHeadProps = {
3
+ width: number;
4
+ height: number;
5
+ };
6
+ /**
7
+ * Playhead component showing current frame position
8
+ * Uses direct DOM manipulation (like v1) to avoid render cycle flashing during animation
9
+ * @returns The playhead component
10
+ */
11
+ export declare const PlayHead: FunctionComponent<PlayHeadProps>;
12
+ export {};
@@ -0,0 +1,10 @@
1
+ import { type FunctionComponent } from "react";
2
+ type RangeFrameBarProps = {
3
+ width: number;
4
+ };
5
+ /**
6
+ * Range frame bar showing frame tick marks and keyframe indicators
7
+ * @returns The range frame bar component
8
+ */
9
+ export declare const RangeFrameBar: FunctionComponent<RangeFrameBarProps>;
10
+ export {};
@@ -0,0 +1,29 @@
1
+ import { type FunctionComponent } from "react";
2
+ import { type Nullable } from "@babylonjs/core/types.js";
3
+ import { type Animation } from "@babylonjs/core/Animations/animation.js";
4
+ import { type TargetedAnimation, type AnimationGroup } from "@babylonjs/core/Animations/animationGroup.js";
5
+ import { type Scene } from "@babylonjs/core/scene.js";
6
+ import { type IAnimatable } from "@babylonjs/core/Animations/animatable.interface.js";
7
+ /**
8
+ * Props for the CurveEditor component
9
+ */
10
+ export type CurveEditorProps = {
11
+ /** The scene */
12
+ scene: Scene;
13
+ /** Target animatable */
14
+ target: Nullable<IAnimatable>;
15
+ /** Animations to edit */
16
+ animations: Nullable<Animation[] | TargetedAnimation[]>;
17
+ /** Root animation group if any */
18
+ rootAnimationGroup?: Nullable<AnimationGroup>;
19
+ /** Editor title */
20
+ title?: string;
21
+ /** Whether using targeted animations */
22
+ useTargetAnimations?: boolean;
23
+ };
24
+ /**
25
+ * Animation Curve Editor component for editing animation keyframes and curves
26
+ * @param props - The component props
27
+ * @returns The curve editor component
28
+ */
29
+ export declare const CurveEditor: FunctionComponent<CurveEditorProps>;
@@ -0,0 +1,31 @@
1
+ import { type FunctionComponent } from "react";
2
+ import { type Nullable } from "@babylonjs/core/types.js";
3
+ import { type Animation } from "@babylonjs/core/Animations/animation.js";
4
+ import { type TargetedAnimation, type AnimationGroup } from "@babylonjs/core/Animations/animationGroup.js";
5
+ import { type Scene } from "@babylonjs/core/scene.js";
6
+ import { type IAnimatable } from "@babylonjs/core/Animations/animatable.interface.js";
7
+ /**
8
+ * Props for the CurveEditorButton component
9
+ */
10
+ export type CurveEditorButtonProps = {
11
+ /** The scene */
12
+ scene: Scene;
13
+ /** Target animatable */
14
+ target: Nullable<IAnimatable>;
15
+ /** Animations to edit */
16
+ animations: Nullable<Animation[] | TargetedAnimation[]>;
17
+ /** Root animation group if any */
18
+ rootAnimationGroup?: Nullable<AnimationGroup>;
19
+ /** Editor title */
20
+ title?: string;
21
+ /** Whether using targeted animations */
22
+ useTargetAnimations?: boolean;
23
+ /** Button label */
24
+ label?: string;
25
+ };
26
+ /**
27
+ * Button component that opens the Animation Curve Editor in a popup window
28
+ * @param props - The component props
29
+ * @returns The button component
30
+ */
31
+ export declare const CurveEditorButton: FunctionComponent<CurveEditorButtonProps>;
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Color constants for the curve editor
3
+ * These colors are used consistently across the curve editor UI for
4
+ * representing different animation channels and UI elements.
5
+ */
6
+ /**
7
+ * Channel colors for multi-component animations (vectors, colors, quaternions)
8
+ */
9
+ export declare const ChannelColors: {
10
+ /** Red channel / X component */
11
+ readonly X: "#DB3E3E";
12
+ /** Green channel / Y component */
13
+ readonly Y: "#51E22D";
14
+ /** Blue channel / Z component */
15
+ readonly Z: "#00A3FF";
16
+ /** W component (quaternions) */
17
+ readonly W: "#8700FF";
18
+ /** Alpha channel */
19
+ readonly ALPHA: "#FFFFFF";
20
+ };
21
+ /**
22
+ * Aliases for color channels (R, G, B map to X, Y, Z)
23
+ */
24
+ export declare const ColorChannelColors: {
25
+ /** Red channel */
26
+ readonly R: "#DB3E3E";
27
+ /** Green channel */
28
+ readonly G: "#51E22D";
29
+ /** Blue channel */
30
+ readonly B: "#00A3FF";
31
+ /** Alpha channel */
32
+ readonly A: "#FFFFFF";
33
+ };
34
+ /**
35
+ * Default curve color for single-component (float) animations
36
+ */
37
+ export declare const DefaultCurveColor = "#ffffff";
38
+ /**
39
+ * Graph UI colors
40
+ */
41
+ export declare const GraphColors: {
42
+ /** Zero line color */
43
+ readonly zeroLine: "#666666";
44
+ /** Selection rectangle stroke */
45
+ readonly selectionStroke: "#ffffff";
46
+ /** Value axis label color */
47
+ readonly valueAxisLabel: "#555555";
48
+ /** Value axis background */
49
+ readonly valueAxisBackground: "#111111";
50
+ /** Selected keypoint color (gold) */
51
+ readonly selectedKeypoint: "#FFD700";
52
+ /** Default keypoint stroke color */
53
+ readonly keypointStroke: "#ffffff";
54
+ /** Tangent handle color */
55
+ readonly tangentHandle: "#FFD700";
56
+ };
@@ -0,0 +1,267 @@
1
+ import { type Dispatch, type FunctionComponent, type PropsWithChildren, type SetStateAction } from "react";
2
+ import { type Nullable } from "@babylonjs/core/types.js";
3
+ import { type Animation } from "@babylonjs/core/Animations/animation.js";
4
+ import { type TargetedAnimation, type AnimationGroup } from "@babylonjs/core/Animations/animationGroup.js";
5
+ import { type Scene } from "@babylonjs/core/scene.js";
6
+ import { type IAnimatable } from "@babylonjs/core/Animations/animatable.interface.js";
7
+ import { type AnimationKeyInterpolation } from "@babylonjs/core/Animations/animationKey.js";
8
+ import { type CurveData } from "./canvas/curveData";
9
+ /**
10
+ * Represents a key point on a curve
11
+ */
12
+ export type KeyPoint = {
13
+ /** The curve data this key point belongs to */
14
+ curve: CurveData;
15
+ /** The key index in the animation */
16
+ keyId: number;
17
+ };
18
+ /** Payload sent when a main key point is designated for multi-point coordination */
19
+ export type MainKeyPointInfo = {
20
+ x: number;
21
+ y: number;
22
+ curve: CurveData;
23
+ keyId: number;
24
+ };
25
+ /** Payload sent when the main key point moves during drag */
26
+ export type MainKeyPointPosition = {
27
+ x: number;
28
+ y: number;
29
+ };
30
+ import { Observable } from "@babylonjs/core/Misc/observable.js";
31
+ /**
32
+ * Options for active animation changed event
33
+ */
34
+ export type ActiveAnimationChangedOptions = {
35
+ /** Whether to evaluate keys */
36
+ evaluateKeys?: boolean;
37
+ /** Whether to update frame */
38
+ frame?: boolean;
39
+ /** Whether to update range */
40
+ range?: boolean;
41
+ };
42
+ /**
43
+ * State for the curve editor
44
+ */
45
+ export type CurveEditorState = {
46
+ /** Editor title */
47
+ title: string;
48
+ /** All animations in the editor */
49
+ animations: Nullable<Animation[] | TargetedAnimation[]>;
50
+ /** The scene */
51
+ scene: Scene;
52
+ /** Target animatable */
53
+ target: Nullable<IAnimatable>;
54
+ /** Root animation group if any */
55
+ rootAnimationGroup: Nullable<AnimationGroup>;
56
+ /** Currently active/selected animations */
57
+ activeAnimations: Animation[];
58
+ /** Active color channels by animation ID */
59
+ activeChannels: {
60
+ [key: number]: string;
61
+ };
62
+ /** Currently selected key points */
63
+ activeKeyPoints: Nullable<KeyPoint[]>;
64
+ /** The main/primary selected key point */
65
+ mainKeyPoint: Nullable<KeyPoint>;
66
+ /** Snippet ID for sharing */
67
+ snippetId: string;
68
+ /** Whether using targeted animations */
69
+ useTargetAnimations: boolean;
70
+ /** Current playhead frame */
71
+ activeFrame: number;
72
+ /** Start of visible/play range */
73
+ fromKey: number;
74
+ /** End of visible/play range */
75
+ toKey: number;
76
+ /** Whether to use existing play range */
77
+ useExistingPlayRange: boolean;
78
+ /** Playback direction */
79
+ forwardAnimation: boolean;
80
+ /** Whether animation is playing */
81
+ isPlaying: boolean;
82
+ /** Total clip length in frames */
83
+ clipLength: number;
84
+ /** Minimum reference frame */
85
+ referenceMinFrame: number;
86
+ /** Maximum reference frame */
87
+ referenceMaxFrame: number;
88
+ /** Whether an input is focused */
89
+ focusedInput: boolean;
90
+ /** Lock last frame value */
91
+ lockLastFrameValue: boolean;
92
+ /** Lock last frame frame number */
93
+ lockLastFrameFrame: boolean;
94
+ };
95
+ /**
96
+ * Actions available in the curve editor
97
+ */
98
+ export type CurveEditorActions = {
99
+ /** Set active animations */
100
+ setActiveAnimations: Dispatch<SetStateAction<Animation[]>>;
101
+ /** Set active frame */
102
+ setActiveFrame: Dispatch<SetStateAction<number>>;
103
+ /** Set from key */
104
+ setFromKey: Dispatch<SetStateAction<number>>;
105
+ /** Set to key */
106
+ setToKey: Dispatch<SetStateAction<number>>;
107
+ /** Set is playing */
108
+ setIsPlaying: Dispatch<SetStateAction<boolean>>;
109
+ /** Set clip length */
110
+ setClipLength: Dispatch<SetStateAction<number>>;
111
+ /** Set reference max frame */
112
+ setReferenceMaxFrame: Dispatch<SetStateAction<number>>;
113
+ /** Set focused input */
114
+ setFocusedInput: Dispatch<SetStateAction<boolean>>;
115
+ /** Set active key points */
116
+ setActiveKeyPoints: Dispatch<SetStateAction<Nullable<KeyPoint[]>>>;
117
+ /** Set main key point */
118
+ setMainKeyPoint: Dispatch<SetStateAction<Nullable<KeyPoint>>>;
119
+ /** Set active channels */
120
+ setActiveChannels: Dispatch<SetStateAction<{
121
+ [key: number]: string;
122
+ }>>;
123
+ /** Play animation */
124
+ play: (forward: boolean) => void;
125
+ /** Stop animation */
126
+ stop: () => void;
127
+ /** Move to specific frame */
128
+ moveToFrame: (frame: number) => void;
129
+ /** Refresh target state */
130
+ refreshTarget: () => void;
131
+ /** Clear key point selection */
132
+ clearSelection: () => void;
133
+ /** Enable a channel for an animation */
134
+ enableChannel: (animation: Animation, color: string) => void;
135
+ /** Disable a channel for an animation */
136
+ disableChannel: (animation: Animation) => void;
137
+ /** Check if channel is enabled */
138
+ isChannelEnabled: (animation: Animation, color: string) => boolean;
139
+ /** Get active channel color */
140
+ getActiveChannel: (animation: Animation) => string | undefined;
141
+ /** Reset all active channels */
142
+ resetAllActiveChannels: () => void;
143
+ /** Get previous key frame */
144
+ getPrevKey: () => Nullable<number>;
145
+ /** Get next key frame */
146
+ getNextKey: () => Nullable<number>;
147
+ /** Prepare the editor */
148
+ prepare: () => void;
149
+ };
150
+ /**
151
+ * Observables for curve editor events
152
+ */
153
+ export type CurveEditorObservables = {
154
+ /** Fired when active animation changes */
155
+ onActiveAnimationChanged: Observable<ActiveAnimationChangedOptions>;
156
+ /** Fired when active key point changes */
157
+ onActiveKeyPointChanged: Observable<void>;
158
+ /** Fired when host window is resized */
159
+ onHostWindowResized: Observable<void>;
160
+ /** Fired to select all keys */
161
+ onSelectAllKeys: Observable<void>;
162
+ /** Fired when active key frame changes */
163
+ onActiveKeyFrameChanged: Observable<number>;
164
+ /** Fired when frame is set */
165
+ onFrameSet: Observable<number>;
166
+ /** Fired when frame is manually entered */
167
+ onFrameManuallyEntered: Observable<number>;
168
+ /** Fired when main key point is set for multi-point coordination */
169
+ onMainKeyPointSet: Observable<MainKeyPointInfo>;
170
+ /** Fired when main key point moves during drag */
171
+ onMainKeyPointMoved: Observable<MainKeyPointPosition>;
172
+ /** Fired when value is set */
173
+ onValueSet: Observable<number>;
174
+ /** Fired when value is manually entered */
175
+ onValueManuallyEntered: Observable<number>;
176
+ /** Fired when frame is required */
177
+ onFrameRequired: Observable<void>;
178
+ /** Fired when create or update key point is required */
179
+ onCreateOrUpdateKeyPointRequired: Observable<void>;
180
+ /** Fired when flatten tangent is required */
181
+ onFlattenTangentRequired: Observable<void>;
182
+ /** Fired when linear tangent is required */
183
+ onLinearTangentRequired: Observable<void>;
184
+ /** Fired when break tangent is required */
185
+ onBreakTangentRequired: Observable<void>;
186
+ /** Fired when unify tangent is required */
187
+ onUnifyTangentRequired: Observable<void>;
188
+ /** Fired when step tangent is required */
189
+ onStepTangentRequired: Observable<void>;
190
+ /** Fired when animation should be deleted */
191
+ onDeleteAnimation: Observable<Animation>;
192
+ /** Fired when graph is moved */
193
+ onGraphMoved: Observable<number>;
194
+ /** Fired when graph is scaled */
195
+ onGraphScaled: Observable<number>;
196
+ /** Fired when range is updated */
197
+ onRangeUpdated: Observable<void>;
198
+ /** Fired when move to frame is required */
199
+ onMoveToFrameRequired: Observable<number>;
200
+ /** Fired when animation state changes */
201
+ onAnimationStateChanged: Observable<void>;
202
+ /** Fired when delete active key points is required */
203
+ onDeleteKeyActiveKeyPoints: Observable<void>;
204
+ /** Fired when selection rectangle is moved */
205
+ onSelectionRectangleMoved: Observable<DOMRect>;
206
+ /** Fired when animations are loaded */
207
+ onAnimationsLoaded: Observable<void>;
208
+ /** Fired when clip length is increased */
209
+ onClipLengthIncreased: Observable<number>;
210
+ /** Fired when clip length is decreased */
211
+ onClipLengthDecreased: Observable<number>;
212
+ /** Fired when interpolation mode is set */
213
+ onInterpolationModeSet: Observable<{
214
+ keyId: number;
215
+ value: AnimationKeyInterpolation;
216
+ }>;
217
+ /** Fired when select to is activated */
218
+ onSelectToActivated: Observable<{
219
+ from: number;
220
+ to: number;
221
+ }>;
222
+ /** Fired when range frame bar is resized */
223
+ onRangeFrameBarResized: Observable<number>;
224
+ /** Fired when playhead is moved */
225
+ onPlayheadMoved: Observable<number>;
226
+ /** Fired when active key data changes */
227
+ onActiveKeyDataChanged: Observable<number>;
228
+ };
229
+ /**
230
+ * Combined context value
231
+ */
232
+ export type CurveEditorContextValue = {
233
+ /** Editor state */
234
+ state: CurveEditorState;
235
+ /** Editor actions */
236
+ actions: CurveEditorActions;
237
+ /** Editor observables */
238
+ observables: CurveEditorObservables;
239
+ };
240
+ /**
241
+ * Props for the CurveEditorProvider
242
+ */
243
+ export type CurveEditorProviderProps = {
244
+ /** The scene */
245
+ scene: Scene;
246
+ /** Target animatable */
247
+ target: Nullable<IAnimatable>;
248
+ /** Animations to edit */
249
+ animations: Nullable<Animation[] | TargetedAnimation[]>;
250
+ /** Root animation group if any */
251
+ rootAnimationGroup?: Nullable<AnimationGroup>;
252
+ /** Editor title */
253
+ title?: string;
254
+ /** Whether using targeted animations */
255
+ useTargetAnimations?: boolean;
256
+ };
257
+ /**
258
+ * Provider component for curve editor context
259
+ * @param props - Provider props including scene, target, and animations
260
+ * @returns The provider component with context
261
+ */
262
+ export declare const CurveEditorProvider: FunctionComponent<PropsWithChildren<CurveEditorProviderProps>>;
263
+ /**
264
+ * Hook to access the curve editor context
265
+ * @returns The curve editor context value
266
+ */
267
+ export declare function useCurveEditor(): CurveEditorContextValue;
@@ -0,0 +1,6 @@
1
+ import { type FunctionComponent } from "react";
2
+ /**
3
+ * Range selector component - a draggable scrollbar for selecting frame range
4
+ * @returns The range selector component
5
+ */
6
+ export declare const RangeSelector: FunctionComponent;
@@ -0,0 +1,10 @@
1
+ import { type FunctionComponent } from "react";
2
+ type AddAnimationPanelProps = {
3
+ onClose: () => void;
4
+ };
5
+ /**
6
+ * Panel for adding new animations
7
+ * @returns The add animation panel component
8
+ */
9
+ export declare const AddAnimationPanel: FunctionComponent<AddAnimationPanelProps>;
10
+ export {};
@@ -0,0 +1,6 @@
1
+ import { type FunctionComponent } from "react";
2
+ /**
3
+ * Animation list component showing all animations
4
+ * @returns Animation list component
5
+ */
6
+ export declare const AnimationList: FunctionComponent;
@@ -0,0 +1,12 @@
1
+ import { type FunctionComponent } from "react";
2
+ import { type Animation } from "@babylonjs/core/Animations/animation.js";
3
+ type EditAnimationPanelProps = {
4
+ animation: Animation;
5
+ onClose: () => void;
6
+ };
7
+ /**
8
+ * Panel for editing animation properties
9
+ * @returns The edit animation panel component
10
+ */
11
+ export declare const EditAnimationPanel: FunctionComponent<EditAnimationPanelProps>;
12
+ export {};
@@ -0,0 +1,10 @@
1
+ import { type FunctionComponent } from "react";
2
+ type LoadAnimationPanelProps = {
3
+ onClose: () => void;
4
+ };
5
+ /**
6
+ * Panel for loading animations from file or snippet server
7
+ * @returns The load animation panel component
8
+ */
9
+ export declare const LoadAnimationPanel: FunctionComponent<LoadAnimationPanelProps>;
10
+ export {};
@@ -0,0 +1,10 @@
1
+ import { type FunctionComponent } from "react";
2
+ type SaveAnimationPanelProps = {
3
+ onClose: () => void;
4
+ };
5
+ /**
6
+ * Panel for saving animations to file or snippet server
7
+ * @returns The save animation panel component
8
+ */
9
+ export declare const SaveAnimationPanel: FunctionComponent<SaveAnimationPanelProps>;
10
+ export {};
@@ -0,0 +1,6 @@
1
+ import { type FunctionComponent } from "react";
2
+ /**
3
+ * Sidebar component for the curve editor with animation list and controls
4
+ * @returns The sidebar component
5
+ */
6
+ export declare const SideBar: FunctionComponent;
@@ -0,0 +1,6 @@
1
+ import { type FunctionComponent } from "react";
2
+ /**
3
+ * Top toolbar for the curve editor with frame/value inputs and action buttons
4
+ * @returns The top bar component
5
+ */
6
+ export declare const TopBar: FunctionComponent;
@@ -0,0 +1,6 @@
1
+ import { type Scene } from "@babylonjs/core/index.js";
2
+ import { ExtensibleAccordion } from "../extensibleAccordion";
3
+ export declare const HelpersDebugSectionIdentity: unique symbol;
4
+ export declare const TextureChannelsDebugSectionIdentity: unique symbol;
5
+ export declare const FeaturesDebugSectionIdentity: unique symbol;
6
+ export declare const DebugPane: typeof ExtensibleAccordion<Scene>;